Algorithmic Trading Model for Cramer COVID-19 Index Using Python Take 3

David Lowe

June 8, 2020

SUMMARY: The purpose of this project is to construct and test an algorithmic trading model and document the end-to-end steps using a template.

INTRODUCTION: CNBC’s Jim Cramer, the host of Mad Money show, presented a list of stocks on April 27 that he believes will work well in this coronavirus-plagued market. The ‘Cramer COVID-19 Index’ contains 100 companies that touch 17 sectors where investors can expect a positive return in this volatile market environment. The project aims to analyze these 100 stocks and develop strategies for trading these stocks, either individually or in groups.

In iteration Take1, we constructed the necessary code segments for downloading and visualizing the index and the stocks. The script leveraged various data sources, both free and paid subscriptions, for pulling the required dataset together.

In iteration Take2, we built on the previous analysis by constructing a dual moving average crossover trading model (20-day and 50-day) and applying the model to the 100 stocks in the index. For each stock, we also identified the entry and exit dates starting January 1, 2019.

In this Take3 iteration, we will build on the previous analysis by constructing a module to calculate profit and loss for the dual moving average crossover trading model and applying the model to the 100 stocks in the index. For each stock, we will identify the entry and exit dates starting around January 1, 2019.

NOTE: This script calculates the index value by using the number of outstanding shares from each company. Such an approach may not match how CNBC calculates this index (https://www.cnbc.com/cramer-covid-19-stocks/). This script is for educational purposes only and does not constitute a recommendation for buying or selling any stock mentioned in this script.

ANALYSIS: Refer to the list of profit and loss amounts for each stock in the index under Task 4.

CONCLUSION: Refer to the list of profit and loss amounts for each stock in the index under Task 4.

Dataset ML Model: Time series analysis with numerical attributes

Dataset Used: IEX Cloud and Quandl

An algorithmic trading modeling project generally can be broken down into about five major tasks:

  1. Prepare Environment
  2. Acquire and Pre-Process Data
  3. Develop Strategy and Train Model
  4. Back-test Model
  5. Evaluate Performance

Task 1. Prepare Environment

In [1]:
import os
import sys
import smtplib
import numpy as np
import pandas as pd
import requests
import json
from email.message import EmailMessage
import matplotlib.pyplot as plt
from datetime import datetime, timedelta
from time import sleep
from dotenv import load_dotenv
In [2]:
# Begin the timer for the script processing
startTimeScript = datetime.now()

# Set up the verbose flag to print detailed messages for debugging (setting True will activate!)
verbose = False

# Set up the sendNotification flag to send progress emails (setting True will send emails!)
notifyStatus = False

# Set up the parent directory location for loading the dotenv files
useColab = False
if useColab:
    # Mount Google Drive locally for storing files
    from google.colab import drive
    drive.mount('/content/gdrive')
    gdrivePrefix = '/content/gdrive/My Drive/Colab_Downloads/'
    env_path = '/content/gdrive/My Drive/Colab Notebooks/'
    dotenv_path = env_path + "python_script.env"
    load_dotenv(dotenv_path=dotenv_path)

# Set up the dotenv file for retrieving environment variables
LocalPC = False
if LocalPC:
    env_path = "/Users/david/PycharmProjects/"
    dotenv_path = env_path + "python_script.env"
    load_dotenv(dotenv_path=dotenv_path)

# Configure the plotting style
plt.style.use('seaborn')

# Set Pandas options
pd.set_option("display.max_rows", 120)
pd.set_option("display.width", 140)
In [3]:
# Define the function for sending the status notification emails
def email_notify(msg_text):
    sender = os.environ.get('MAIL_SENDER')
    receiver = os.environ.get('MAIL_RECEIVER')
    gateway = os.environ.get('SMTP_GATEWAY')
    smtpuser = os.environ.get('SMTP_USERNAME')
    password = os.environ.get('SMTP_PASSWORD')
    if (sender is None) or (receiver is None) or (gateway is None) or (smtpuser is None) or (password is None):
        sys.exit("Incomplete email setup info. Script Processing Aborted!!!")
    msg = EmailMessage()
    msg.set_content(msg_text)
    msg['Subject'] = 'Notification from Algorithmic Trading Modeling Script'
    msg['From'] = sender
    msg['To'] = receiver
    server = smtplib.SMTP(gateway, 587)
    server.starttls()
    server.login(smtpuser, password)
    server.send_message(msg)
    server.quit()
In [4]:
if notifyStatus: email_notify("Task 1. Prepare Environment has begun! "+datetime.now().strftime('%a %B %d, %Y %I:%M:%S %p'))
In [5]:
# Check and see whether the API key is available
alphavantage_key = os.environ.get('ALPHAVANTAGE_API')
if alphavantage_key is None: sys.exit("API key for Alpha Vantage not available. Script Processing Aborted!!!")

# Check and see whether the API key is available
iexcloud_key = os.environ.get('IEXCLOUD_API')
if iexcloud_key is None: sys.exit("API key for IEX Cloud not available. Script Processing Aborted!!!")

# Check and see whether the API key is available
quandl_key = os.environ.get('QUANDL_API')
if quandl_key is None: sys.exit("API key for Quandl not available. Script Processing Aborted!!!")
In [6]:
# Specify the parameters for the trading strategy
fast_ma = 20
slow_ma = 50

model_start_date = datetime(2019, 1, 1)
print("Starting date for the model:", model_start_date)
stock_start_date = model_start_date - timedelta(days=int(slow_ma*1.5)) # Need more pricing data to calculate moving averages

# model_end_date = datetime(2020, 1, 1)
model_end_date = datetime.now()
print("Ending date for the model:", model_end_date)

stock_data_dates = pd.date_range(start=stock_start_date, end=model_end_date)
Starting date for the model: 2019-01-01 00:00:00
Ending date for the model: 2020-06-07 03:04:09.139295
In [7]:
if notifyStatus: email_notify("Task 1. Prepare Environment completed! "+datetime.now().strftime('%a %B %d, %Y %I:%M:%S %p'))

Task 2. Acquire and Pre-Process Data

In [8]:
if notifyStatus: email_notify("Task 2. Acquire and Pre-Process Data has begun! "+datetime.now().strftime('%a %B %d, %Y %I:%M:%S %p'))
In [9]:
dataset_path = 'https://www.dainesanalytics.com/datasets/cramer-covid19-index/Cramer_COVID-19_Index.csv'
stock_meta = pd.read_csv(dataset_path, sep=',')
stock_meta.set_index('Symbol', inplace=True)
stock_meta = stock_meta.sort_index(ascending = True)
stock_meta.info(verbose=True)
<class 'pandas.core.frame.DataFrame'>
Index: 100 entries, AAPL to ZTS
Data columns (total 1 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   Name    100 non-null    object
dtypes: object(1)
memory usage: 1.6+ KB
In [10]:
# Take a peek at the dataframe after import
stock_meta.head()
Out[10]:
Name
Symbol
AAPL Apple
ABBV AbbVie
ABT Abbott Labs
ADBE Adobe
AKAM Akamai Technologies
In [11]:
stock_list = stock_meta.index.tolist()
if verbose: print('Stocks to process:', stock_list)
In [12]:
for ticker in stock_list:
    iexcloud_url = "https://cloud.iexapis.com/stable/stock/%s/stats/sharesOutstanding?token=%s" % (ticker, iexcloud_key)
    sleep(1)
    response = requests.get(iexcloud_url)
    share_data = json.loads(response.text)
    stock_meta.loc[ticker,'Share_Outstanding'] = share_data
    print('Company outstanding share number retrieved for', ticker, ':', share_data)
Company outstanding share number retrieved for AAPL : 4334340000
Company outstanding share number retrieved for ABBV : 1762340000
Company outstanding share number retrieved for ABT : 1768850000
Company outstanding share number retrieved for ADBE : 481801000
Company outstanding share number retrieved for AKAM : 162274000
Company outstanding share number retrieved for AMD : 1171190000
Company outstanding share number retrieved for AMT : 443306000
Company outstanding share number retrieved for AMZN : 498776000
Company outstanding share number retrieved for ATVI : 770486000
Company outstanding share number retrieved for BAX : 508836000
Company outstanding share number retrieved for BNTX : 228604644
Company outstanding share number retrieved for BSX : 1428730000
Company outstanding share number retrieved for BYND : 62236700
Company outstanding share number retrieved for CAG : 487076000
Company outstanding share number retrieved for CCI : 416751000
Company outstanding share number retrieved for CHGG : 123646000
Company outstanding share number retrieved for CHWY : 84211200
Company outstanding share number retrieved for CL : 856528000
Company outstanding share number retrieved for CLX : 125100000
Company outstanding share number retrieved for CMG : 27890700
Company outstanding share number retrieved for CNC : 579129000
Company outstanding share number retrieved for COR : 37903400
Company outstanding share number retrieved for COST : 441524000
Company outstanding share number retrieved for COUP : 66640900
Company outstanding share number retrieved for CPB : 302164000
Company outstanding share number retrieved for CRM : 901000000
Company outstanding share number retrieved for CRWD : 151213000
Company outstanding share number retrieved for CTXS : 123451000
Company outstanding share number retrieved for D : 839251000
Company outstanding share number retrieved for DDOG : 176048000
Company outstanding share number retrieved for DG : 251722000
Company outstanding share number retrieved for DHR : 707020000
Company outstanding share number retrieved for DOCU : 183127000
Company outstanding share number retrieved for DPZ : 39117900
Company outstanding share number retrieved for DXCM : 92300000
Company outstanding share number retrieved for EA : 288688000
Company outstanding share number retrieved for EBAY : 702679000
Company outstanding share number retrieved for EBS : 52427800
Company outstanding share number retrieved for EQIX : 88514500
Company outstanding share number retrieved for ETSY : 118678000
Company outstanding share number retrieved for EVBG : 34358100
Company outstanding share number retrieved for GILD : 1254000000
Company outstanding share number retrieved for GIS : 606139000
Company outstanding share number retrieved for GOLD : 1778040000
Company outstanding share number retrieved for GOOG : 336162000
Company outstanding share number retrieved for GSK : 2488335000
Company outstanding share number retrieved for HD : 1075520000
Company outstanding share number retrieved for HRL : 538952000
Company outstanding share number retrieved for JNJ : 2634590000
Company outstanding share number retrieved for K : 342670000
Company outstanding share number retrieved for KR : 786188000
Company outstanding share number retrieved for LLY : 957038000
Company outstanding share number retrieved for LOGI : 166897353
Company outstanding share number retrieved for LVGO : 97817000
Company outstanding share number retrieved for MASI : 54115400
Company outstanding share number retrieved for MDLZ : 1427460000
Company outstanding share number retrieved for MKC : 123641000
Company outstanding share number retrieved for MKTX : 37910200
Company outstanding share number retrieved for MRNA : 371224000
Company outstanding share number retrieved for MRVL : 665300000
Company outstanding share number retrieved for MSFT : 7583440000
Company outstanding share number retrieved for NET : 165000000
Company outstanding share number retrieved for NFLX : 439804000
Company outstanding share number retrieved for NVDA : 615135000
Company outstanding share number retrieved for OKTA : 116135000
Company outstanding share number retrieved for PANW : 96465900
Company outstanding share number retrieved for PEP : 1387500000
Company outstanding share number retrieved for PFE : 5554830000
Company outstanding share number retrieved for PG : 2475640000
Company outstanding share number retrieved for PLD : 738582000
Company outstanding share number retrieved for PRGO : 136313000
Company outstanding share number retrieved for PTON : 206067000
Company outstanding share number retrieved for PYPL : 1174160000
Company outstanding share number retrieved for REGN : 110673000
Company outstanding share number retrieved for RMD : 144668000
Company outstanding share number retrieved for RNG : 77005900
Company outstanding share number retrieved for SHOP : 107511000
Company outstanding share number retrieved for SJM : 114038000
Company outstanding share number retrieved for SNY : 2508821038
Company outstanding share number retrieved for SPGI : 240900000
Company outstanding share number retrieved for SPLK : 158869000
Company outstanding share number retrieved for SPOT : 184416932
Company outstanding share number retrieved for SQ : 362988000
Company outstanding share number retrieved for TDOC : 74453300
Company outstanding share number retrieved for TGT : 500015000
Company outstanding share number retrieved for TMO : 394951000
Company outstanding share number retrieved for TTD : 40888700
Company outstanding share number retrieved for TTWO : 113943000
Company outstanding share number retrieved for TW : 83945500
Company outstanding share number retrieved for TWLO : 128614000
Company outstanding share number retrieved for UNH : 948380000
Company outstanding share number retrieved for VEEV : 134988000
Company outstanding share number retrieved for VZ : 4138000000
Company outstanding share number retrieved for WING : 29583000
Company outstanding share number retrieved for WIX : 51526000
Company outstanding share number retrieved for WMT : 2831950000
Company outstanding share number retrieved for WORK : 432599000
Company outstanding share number retrieved for ZM : 167557000
Company outstanding share number retrieved for ZS : 130518000
Company outstanding share number retrieved for ZTS : 474941000
In [13]:
stock_meta.head()
Out[13]:
Name Share_Outstanding
Symbol
AAPL Apple 4.334340e+09
ABBV AbbVie 1.762340e+09
ABT Abbott Labs 1.768850e+09
ADBE Adobe 4.818010e+08
AKAM Akamai Technologies 1.622740e+08
In [14]:
stock_meta.tail()
Out[14]:
Name Share_Outstanding
Symbol
WMT Walmart 2.831950e+09
WORK Slack 4.325990e+08
ZM Zoom Video 1.675570e+08
ZS Zscaler 1.305180e+08
ZTS Zoetis 4.749410e+08
In [15]:
total_shares = stock_meta['Share_Outstanding'].sum()
print('Total number of outstanding shares used to calculate the index:', total_shares)
Total number of outstanding shares used to calculate the index: 73037744067.0
In [16]:
# Create the dataframe to hold the index and individual stock components
columns = ['JC_MAD']
index_df = pd.DataFrame(index=stock_data_dates, columns=columns)
index_df = index_df.fillna(0.0)
index_df.info(verbose=True)
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 599 entries, 2018-10-18 to 2020-06-07
Freq: D
Data columns (total 1 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   JC_MAD  599 non-null    float64
dtypes: float64(1)
memory usage: 9.4 KB
In [17]:
index_df.head()
Out[17]:
JC_MAD
2018-10-18 0.0
2018-10-19 0.0
2018-10-20 0.0
2018-10-21 0.0
2018-10-22 0.0
In [18]:
# Create the dataframe to hold the stock opening prices
stock_open_df = pd.DataFrame(index=stock_data_dates)
stock_open_df.info(verbose=True)
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 599 entries, 2018-10-18 to 2020-06-07
Freq: D
Empty DataFrame
In [19]:
# Create the dataframe to hold the stock closing prices
stock_close_df = pd.DataFrame(index=stock_data_dates)
stock_close_df.info(verbose=True)
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 599 entries, 2018-10-18 to 2020-06-07
Freq: D
Empty DataFrame
In [20]:
start_date_string = stock_start_date.strftime('%Y-%m-%d')
end_date_string = model_end_date.strftime('%Y-%m-%d')

for ticker in stock_list:
    quandl_url = "https://www.quandl.com/api/v3/datatables/SHARADAR/SEP.json?date.gte=%s&date.lte=%s&ticker=%s&api_key=%s" % (start_date_string, end_date_string, ticker, quandl_key)
    response = requests.get(quandl_url)
    sleep(1)
    quandl_dict = json.loads(response.text)
    stock_data = pd.DataFrame(quandl_dict['datatable']['data'])
    print(len(stock_data), 'data points retrieved from the API call for:', ticker)
    stock_data.columns = ['ticker', 'date', 'open', 'high', 'low', 'close', 'volume', 'dividend', 'closeunadj', 'lastupdated']
    stock_data.index = pd.to_datetime(stock_data.date)
    stock_data = stock_data.sort_index(ascending = True)
    stock_open = stock_data.loc[:, ['open']]
    stock_open.rename(columns={'open': ticker}, inplace=True)
    stock_open_df = pd.concat([stock_open_df, stock_open], axis=1)
    stock_close = stock_data.loc[:, ['closeunadj']]
    stock_close.rename(columns={'closeunadj': ticker}, inplace=True)
    stock_close_df = pd.concat([stock_close_df, stock_close], axis=1)
    component_close = stock_data.loc[:, ['closeunadj']] * stock_meta.loc[ticker, 'Share_Outstanding'] / total_shares
    component_close.rename(columns={'closeunadj': ticker}, inplace=True)
    index_df = pd.concat([index_df, component_close], axis=1)
410 data points retrieved from the API call for: AAPL
410 data points retrieved from the API call for: ABBV
410 data points retrieved from the API call for: ABT
410 data points retrieved from the API call for: ADBE
410 data points retrieved from the API call for: AKAM
410 data points retrieved from the API call for: AMD
410 data points retrieved from the API call for: AMT
410 data points retrieved from the API call for: AMZN
410 data points retrieved from the API call for: ATVI
410 data points retrieved from the API call for: BAX
165 data points retrieved from the API call for: BNTX
410 data points retrieved from the API call for: BSX
277 data points retrieved from the API call for: BYND
410 data points retrieved from the API call for: CAG
410 data points retrieved from the API call for: CCI
410 data points retrieved from the API call for: CHGG
247 data points retrieved from the API call for: CHWY
410 data points retrieved from the API call for: CL
410 data points retrieved from the API call for: CLX
410 data points retrieved from the API call for: CMG
410 data points retrieved from the API call for: CNC
410 data points retrieved from the API call for: COR
410 data points retrieved from the API call for: COST
410 data points retrieved from the API call for: COUP
410 data points retrieved from the API call for: CPB
410 data points retrieved from the API call for: CRM
248 data points retrieved from the API call for: CRWD
410 data points retrieved from the API call for: CTXS
410 data points retrieved from the API call for: D
180 data points retrieved from the API call for: DDOG
410 data points retrieved from the API call for: DG
410 data points retrieved from the API call for: DHR
410 data points retrieved from the API call for: DOCU
410 data points retrieved from the API call for: DPZ
410 data points retrieved from the API call for: DXCM
410 data points retrieved from the API call for: EA
410 data points retrieved from the API call for: EBAY
410 data points retrieved from the API call for: EBS
410 data points retrieved from the API call for: EQIX
410 data points retrieved from the API call for: ETSY
410 data points retrieved from the API call for: EVBG
410 data points retrieved from the API call for: GILD
410 data points retrieved from the API call for: GIS
410 data points retrieved from the API call for: GOLD
410 data points retrieved from the API call for: GOOG
410 data points retrieved from the API call for: GSK
410 data points retrieved from the API call for: HD
410 data points retrieved from the API call for: HRL
410 data points retrieved from the API call for: JNJ
410 data points retrieved from the API call for: K
410 data points retrieved from the API call for: KR
410 data points retrieved from the API call for: LLY
410 data points retrieved from the API call for: LOGI
219 data points retrieved from the API call for: LVGO
410 data points retrieved from the API call for: MASI
410 data points retrieved from the API call for: MDLZ
410 data points retrieved from the API call for: MKC
410 data points retrieved from the API call for: MKTX
376 data points retrieved from the API call for: MRNA
410 data points retrieved from the API call for: MRVL
410 data points retrieved from the API call for: MSFT
184 data points retrieved from the API call for: NET
410 data points retrieved from the API call for: NFLX
410 data points retrieved from the API call for: NVDA
410 data points retrieved from the API call for: OKTA
410 data points retrieved from the API call for: PANW
410 data points retrieved from the API call for: PEP
410 data points retrieved from the API call for: PFE
410 data points retrieved from the API call for: PG
410 data points retrieved from the API call for: PLD
410 data points retrieved from the API call for: PRGO
175 data points retrieved from the API call for: PTON
410 data points retrieved from the API call for: PYPL
410 data points retrieved from the API call for: REGN
410 data points retrieved from the API call for: RMD
410 data points retrieved from the API call for: RNG
410 data points retrieved from the API call for: SHOP
410 data points retrieved from the API call for: SJM
410 data points retrieved from the API call for: SNY
410 data points retrieved from the API call for: SPGI
410 data points retrieved from the API call for: SPLK
410 data points retrieved from the API call for: SPOT
410 data points retrieved from the API call for: SQ
410 data points retrieved from the API call for: TDOC
410 data points retrieved from the API call for: TGT
410 data points retrieved from the API call for: TMO
410 data points retrieved from the API call for: TTD
410 data points retrieved from the API call for: TTWO
296 data points retrieved from the API call for: TW
410 data points retrieved from the API call for: TWLO
410 data points retrieved from the API call for: UNH
410 data points retrieved from the API call for: VEEV
410 data points retrieved from the API call for: VZ
410 data points retrieved from the API call for: WING
410 data points retrieved from the API call for: WIX
410 data points retrieved from the API call for: WMT
243 data points retrieved from the API call for: WORK
286 data points retrieved from the API call for: ZM
410 data points retrieved from the API call for: ZS
410 data points retrieved from the API call for: ZTS
In [21]:
stock_open_df.dropna(inplace=True)
stock_open_df.info(verbose=True)
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 165 entries, 2019-10-10 to 2020-06-05
Data columns (total 100 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   AAPL    165 non-null    float64
 1   ABBV    165 non-null    float64
 2   ABT     165 non-null    float64
 3   ADBE    165 non-null    float64
 4   AKAM    165 non-null    float64
 5   AMD     165 non-null    float64
 6   AMT     165 non-null    float64
 7   AMZN    165 non-null    float64
 8   ATVI    165 non-null    float64
 9   BAX     165 non-null    float64
 10  BNTX    165 non-null    float64
 11  BSX     165 non-null    float64
 12  BYND    165 non-null    float64
 13  CAG     165 non-null    float64
 14  CCI     165 non-null    float64
 15  CHGG    165 non-null    float64
 16  CHWY    165 non-null    float64
 17  CL      165 non-null    float64
 18  CLX     165 non-null    float64
 19  CMG     165 non-null    float64
 20  CNC     165 non-null    float64
 21  COR     165 non-null    float64
 22  COST    165 non-null    float64
 23  COUP    165 non-null    float64
 24  CPB     165 non-null    float64
 25  CRM     165 non-null    float64
 26  CRWD    165 non-null    float64
 27  CTXS    165 non-null    float64
 28  D       165 non-null    float64
 29  DDOG    165 non-null    float64
 30  DG      165 non-null    float64
 31  DHR     165 non-null    float64
 32  DOCU    165 non-null    float64
 33  DPZ     165 non-null    float64
 34  DXCM    165 non-null    float64
 35  EA      165 non-null    float64
 36  EBAY    165 non-null    float64
 37  EBS     165 non-null    float64
 38  EQIX    165 non-null    float64
 39  ETSY    165 non-null    float64
 40  EVBG    165 non-null    float64
 41  GILD    165 non-null    float64
 42  GIS     165 non-null    float64
 43  GOLD    165 non-null    float64
 44  GOOG    165 non-null    float64
 45  GSK     165 non-null    float64
 46  HD      165 non-null    float64
 47  HRL     165 non-null    float64
 48  JNJ     165 non-null    float64
 49  K       165 non-null    float64
 50  KR      165 non-null    float64
 51  LLY     165 non-null    float64
 52  LOGI    165 non-null    float64
 53  LVGO    165 non-null    float64
 54  MASI    165 non-null    float64
 55  MDLZ    165 non-null    float64
 56  MKC     165 non-null    float64
 57  MKTX    165 non-null    float64
 58  MRNA    165 non-null    float64
 59  MRVL    165 non-null    float64
 60  MSFT    165 non-null    float64
 61  NET     165 non-null    float64
 62  NFLX    165 non-null    float64
 63  NVDA    165 non-null    float64
 64  OKTA    165 non-null    float64
 65  PANW    165 non-null    float64
 66  PEP     165 non-null    float64
 67  PFE     165 non-null    float64
 68  PG      165 non-null    float64
 69  PLD     165 non-null    float64
 70  PRGO    165 non-null    float64
 71  PTON    165 non-null    float64
 72  PYPL    165 non-null    float64
 73  REGN    165 non-null    float64
 74  RMD     165 non-null    float64
 75  RNG     165 non-null    float64
 76  SHOP    165 non-null    float64
 77  SJM     165 non-null    float64
 78  SNY     165 non-null    float64
 79  SPGI    165 non-null    float64
 80  SPLK    165 non-null    float64
 81  SPOT    165 non-null    float64
 82  SQ      165 non-null    float64
 83  TDOC    165 non-null    float64
 84  TGT     165 non-null    float64
 85  TMO     165 non-null    float64
 86  TTD     165 non-null    float64
 87  TTWO    165 non-null    float64
 88  TW      165 non-null    float64
 89  TWLO    165 non-null    float64
 90  UNH     165 non-null    float64
 91  VEEV    165 non-null    float64
 92  VZ      165 non-null    float64
 93  WING    165 non-null    float64
 94  WIX     165 non-null    float64
 95  WMT     165 non-null    float64
 96  WORK    165 non-null    float64
 97  ZM      165 non-null    float64
 98  ZS      165 non-null    float64
 99  ZTS     165 non-null    float64
dtypes: float64(100)
memory usage: 130.2 KB
In [22]:
stock_close_df.dropna(inplace=True)
stock_close_df.info(verbose=True)
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 165 entries, 2019-10-10 to 2020-06-05
Data columns (total 100 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   AAPL    165 non-null    float64
 1   ABBV    165 non-null    float64
 2   ABT     165 non-null    float64
 3   ADBE    165 non-null    float64
 4   AKAM    165 non-null    float64
 5   AMD     165 non-null    float64
 6   AMT     165 non-null    float64
 7   AMZN    165 non-null    float64
 8   ATVI    165 non-null    float64
 9   BAX     165 non-null    float64
 10  BNTX    165 non-null    float64
 11  BSX     165 non-null    float64
 12  BYND    165 non-null    float64
 13  CAG     165 non-null    float64
 14  CCI     165 non-null    float64
 15  CHGG    165 non-null    float64
 16  CHWY    165 non-null    float64
 17  CL      165 non-null    float64
 18  CLX     165 non-null    float64
 19  CMG     165 non-null    float64
 20  CNC     165 non-null    float64
 21  COR     165 non-null    float64
 22  COST    165 non-null    float64
 23  COUP    165 non-null    float64
 24  CPB     165 non-null    float64
 25  CRM     165 non-null    float64
 26  CRWD    165 non-null    float64
 27  CTXS    165 non-null    float64
 28  D       165 non-null    float64
 29  DDOG    165 non-null    float64
 30  DG      165 non-null    float64
 31  DHR     165 non-null    float64
 32  DOCU    165 non-null    float64
 33  DPZ     165 non-null    float64
 34  DXCM    165 non-null    float64
 35  EA      165 non-null    float64
 36  EBAY    165 non-null    float64
 37  EBS     165 non-null    float64
 38  EQIX    165 non-null    float64
 39  ETSY    165 non-null    float64
 40  EVBG    165 non-null    float64
 41  GILD    165 non-null    float64
 42  GIS     165 non-null    float64
 43  GOLD    165 non-null    float64
 44  GOOG    165 non-null    float64
 45  GSK     165 non-null    float64
 46  HD      165 non-null    float64
 47  HRL     165 non-null    float64
 48  JNJ     165 non-null    float64
 49  K       165 non-null    float64
 50  KR      165 non-null    float64
 51  LLY     165 non-null    float64
 52  LOGI    165 non-null    float64
 53  LVGO    165 non-null    float64
 54  MASI    165 non-null    float64
 55  MDLZ    165 non-null    float64
 56  MKC     165 non-null    float64
 57  MKTX    165 non-null    float64
 58  MRNA    165 non-null    float64
 59  MRVL    165 non-null    float64
 60  MSFT    165 non-null    float64
 61  NET     165 non-null    float64
 62  NFLX    165 non-null    float64
 63  NVDA    165 non-null    float64
 64  OKTA    165 non-null    float64
 65  PANW    165 non-null    float64
 66  PEP     165 non-null    float64
 67  PFE     165 non-null    float64
 68  PG      165 non-null    float64
 69  PLD     165 non-null    float64
 70  PRGO    165 non-null    float64
 71  PTON    165 non-null    float64
 72  PYPL    165 non-null    float64
 73  REGN    165 non-null    float64
 74  RMD     165 non-null    float64
 75  RNG     165 non-null    float64
 76  SHOP    165 non-null    float64
 77  SJM     165 non-null    float64
 78  SNY     165 non-null    float64
 79  SPGI    165 non-null    float64
 80  SPLK    165 non-null    float64
 81  SPOT    165 non-null    float64
 82  SQ      165 non-null    float64
 83  TDOC    165 non-null    float64
 84  TGT     165 non-null    float64
 85  TMO     165 non-null    float64
 86  TTD     165 non-null    float64
 87  TTWO    165 non-null    float64
 88  TW      165 non-null    float64
 89  TWLO    165 non-null    float64
 90  UNH     165 non-null    float64
 91  VEEV    165 non-null    float64
 92  VZ      165 non-null    float64
 93  WING    165 non-null    float64
 94  WIX     165 non-null    float64
 95  WMT     165 non-null    float64
 96  WORK    165 non-null    float64
 97  ZM      165 non-null    float64
 98  ZS      165 non-null    float64
 99  ZTS     165 non-null    float64
dtypes: float64(100)
memory usage: 130.2 KB
In [23]:
index_df.dropna(inplace=True)
index_df['JC_MAD'] = index_df[stock_list].sum(axis=1)
index_df.info(verbose=True)
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 165 entries, 2019-10-10 to 2020-06-05
Data columns (total 101 columns):
 #   Column  Dtype  
---  ------  -----  
 0   JC_MAD  float64
 1   AAPL    float64
 2   ABBV    float64
 3   ABT     float64
 4   ADBE    float64
 5   AKAM    float64
 6   AMD     float64
 7   AMT     float64
 8   AMZN    float64
 9   ATVI    float64
 10  BAX     float64
 11  BNTX    float64
 12  BSX     float64
 13  BYND    float64
 14  CAG     float64
 15  CCI     float64
 16  CHGG    float64
 17  CHWY    float64
 18  CL      float64
 19  CLX     float64
 20  CMG     float64
 21  CNC     float64
 22  COR     float64
 23  COST    float64
 24  COUP    float64
 25  CPB     float64
 26  CRM     float64
 27  CRWD    float64
 28  CTXS    float64
 29  D       float64
 30  DDOG    float64
 31  DG      float64
 32  DHR     float64
 33  DOCU    float64
 34  DPZ     float64
 35  DXCM    float64
 36  EA      float64
 37  EBAY    float64
 38  EBS     float64
 39  EQIX    float64
 40  ETSY    float64
 41  EVBG    float64
 42  GILD    float64
 43  GIS     float64
 44  GOLD    float64
 45  GOOG    float64
 46  GSK     float64
 47  HD      float64
 48  HRL     float64
 49  JNJ     float64
 50  K       float64
 51  KR      float64
 52  LLY     float64
 53  LOGI    float64
 54  LVGO    float64
 55  MASI    float64
 56  MDLZ    float64
 57  MKC     float64
 58  MKTX    float64
 59  MRNA    float64
 60  MRVL    float64
 61  MSFT    float64
 62  NET     float64
 63  NFLX    float64
 64  NVDA    float64
 65  OKTA    float64
 66  PANW    float64
 67  PEP     float64
 68  PFE     float64
 69  PG      float64
 70  PLD     float64
 71  PRGO    float64
 72  PTON    float64
 73  PYPL    float64
 74  REGN    float64
 75  RMD     float64
 76  RNG     float64
 77  SHOP    float64
 78  SJM     float64
 79  SNY     float64
 80  SPGI    float64
 81  SPLK    float64
 82  SPOT    float64
 83  SQ      float64
 84  TDOC    float64
 85  TGT     float64
 86  TMO     float64
 87  TTD     float64
 88  TTWO    float64
 89  TW      float64
 90  TWLO    float64
 91  UNH     float64
 92  VEEV    float64
 93  VZ      float64
 94  WING    float64
 95  WIX     float64
 96  WMT     float64
 97  WORK    float64
 98  ZM      float64
 99  ZS      float64
 100 ZTS     float64
dtypes: float64(101)
memory usage: 131.5 KB
In [24]:
index_df.head()
Out[24]:
JC_MAD AAPL ABBV ABT ADBE AKAM AMD AMT AMZN ATVI ... UNH VEEV VZ WING WIX WMT WORK ZM ZS ZTS
2019-10-10 119.011912 13.654424 1.796417 1.940855 1.813934 0.198539 0.455085 1.373417 11.747685 0.566384 ... 2.905088 0.277765 3.389707 0.035724 0.088007 4.637733 0.141085 0.162905 0.084525 0.828506
2019-10-11 119.885844 14.017608 1.776631 1.928503 1.835769 0.198961 0.477053 1.362310 11.827311 0.578304 ... 2.883533 0.281000 3.395372 0.035907 0.088798 4.662160 0.153938 0.163685 0.085990 0.835399
2019-10-14 119.729937 13.997431 1.779767 1.933105 1.832404 0.199605 0.489561 1.369533 11.858110 0.580309 ... 2.864316 0.283199 3.376676 0.035846 0.088657 4.620672 0.145823 0.162423 0.084882 0.823174
2019-10-15 120.933523 13.964792 1.797623 1.985416 1.843025 0.202915 0.492608 1.360853 12.069468 0.586111 ... 3.098042 0.289187 3.430499 0.035813 0.088106 4.634631 0.146534 0.163135 0.082890 0.836960
2019-10-16 120.502213 13.908415 1.803655 1.980573 1.798894 0.202027 0.494051 1.347257 12.138100 0.586427 ... 3.077266 0.277007 3.415768 0.036056 0.086851 4.630366 0.140019 0.155289 0.081576 0.831888

5 rows × 101 columns

In [25]:
index_df.tail()
Out[25]:
JC_MAD AAPL ABBV ABT ADBE AKAM AMD AMT AMZN ATVI ... UNH VEEV VZ WING WIX WMT WORK ZM ZS ZTS
2020-06-01 151.087519 19.099814 2.188516 2.252544 2.570564 0.234865 0.859979 1.604242 16.874774 0.769982 ... 3.972438 0.404681 3.160251 0.049479 0.155888 4.806399 0.220215 0.468344 0.196534 0.899581
2020-06-02 151.860910 19.188236 2.196719 2.243099 2.575578 0.234465 0.858536 1.599872 16.884130 0.769877 ... 3.977372 0.405882 3.195378 0.050342 0.160981 4.805623 0.227323 0.477359 0.189725 0.919999
2020-06-03 151.845202 19.293868 2.193100 2.213553 2.572147 0.228866 0.845547 1.622936 16.925036 0.737596 ... 3.964907 0.397806 3.219740 0.049289 0.160720 4.787400 0.236326 0.513584 0.191941 0.926827
2020-06-04 150.073581 19.127706 2.244978 2.137265 2.544969 0.226266 0.843944 1.576383 16.803479 0.736436 ... 3.870507 0.381098 3.241836 0.048945 0.155027 4.734667 0.224717 0.482567 0.184150 0.913756
2020-06-05 152.151362 19.672482 2.264522 2.176256 2.591805 0.219956 0.851480 1.607762 16.956449 0.732427 ... 4.049308 0.374814 3.271297 0.048600 0.150470 4.713342 0.192851 0.476258 0.177466 0.916943

5 rows × 101 columns

In [26]:
title_string = 'Historical Pricing for the Cramer COVID-19 Index'
index_df['JC_MAD'].plot(figsize=(16,9), title=title_string)
plt.show()
In [27]:
if notifyStatus: email_notify("Task 2. Acquire and Pre-Process Data completed! "+datetime.now().strftime('%a %B %d, %Y %I:%M:%S %p'))

Task 3. Develop Strategy and Train Model

In [28]:
if notifyStatus: email_notify("Task 3. Develop Strategy and Train Model has begun! "+datetime.now().strftime('%a %B %d, %Y %I:%M:%S %p'))
In [29]:
# Specify the parameters for the trading strategy
fast_ma = 10
slow_ma = 25
In [30]:
def ma_crossover(data):
    wait_for_entry = True
    for x in range(len(data)):
        if data['ma_change'].iloc[x] > 0:
            data['signal'].iloc[x] = 1  # Signal = 1 means we should take a long position
        else:
            data['signal'].iloc[x] = 0  # Signal = 0 means we should not have a position
        if x != 0:
            data['signal_chg'].iloc[x] = data['signal'].iloc[x] - data['signal'].iloc[x-1]
            if wait_for_entry and (data['signal_chg'].iloc[x-1] == 1):
                data['entry_exit'].iloc[x] = data['signal_chg'].iloc[x-1]
                wait_for_entry = False
            elif (not wait_for_entry) and (data['signal_chg'].iloc[x-1] != 0):
                data['entry_exit'].iloc[x] = data['signal_chg'].iloc[x-1]
In [31]:
model_collection = {}

for ticker in stock_list:
    print('Processing trading model for ticker symbol:', ticker)
    model_collection[ticker] = pd.DataFrame(stock_close_df[ticker])
    model_collection[ticker].rename(columns={ticker: 'close'}, inplace=True)
    model_collection[ticker]['open'] = stock_open_df[ticker]
    model_collection[ticker]['fast_ma'] = model_collection[ticker]['close'].rolling(fast_ma).mean()
    model_collection[ticker]['slow_ma'] = model_collection[ticker]['close'].rolling(slow_ma).mean()
    model_collection[ticker]['ma_change'] = model_collection[ticker]['fast_ma'] - model_collection[ticker]['slow_ma']
    model_collection[ticker]['signal'] = np.zeros(len(model_collection[ticker]))
    model_collection[ticker]['signal_chg'] = np.zeros(len(model_collection[ticker]))
    model_collection[ticker]['entry_exit'] = np.zeros(len(model_collection[ticker]))
    model_collection[ticker] = model_collection[ticker][model_start_date:model_end_date]
    if verbose:
        print(model_collection[ticker].head())
        print('...')
        print(model_collection[ticker].tail())
        print()
    ma_crossover(model_collection[ticker])
Processing trading model for ticker symbol: AAPL
Processing trading model for ticker symbol: ABBV
Processing trading model for ticker symbol: ABT
Processing trading model for ticker symbol: ADBE
Processing trading model for ticker symbol: AKAM
Processing trading model for ticker symbol: AMD
Processing trading model for ticker symbol: AMT
Processing trading model for ticker symbol: AMZN
Processing trading model for ticker symbol: ATVI
Processing trading model for ticker symbol: BAX
Processing trading model for ticker symbol: BNTX
Processing trading model for ticker symbol: BSX
Processing trading model for ticker symbol: BYND
Processing trading model for ticker symbol: CAG
Processing trading model for ticker symbol: CCI
Processing trading model for ticker symbol: CHGG
Processing trading model for ticker symbol: CHWY
Processing trading model for ticker symbol: CL
Processing trading model for ticker symbol: CLX
Processing trading model for ticker symbol: CMG
Processing trading model for ticker symbol: CNC
Processing trading model for ticker symbol: COR
Processing trading model for ticker symbol: COST
Processing trading model for ticker symbol: COUP
Processing trading model for ticker symbol: CPB
Processing trading model for ticker symbol: CRM
Processing trading model for ticker symbol: CRWD
Processing trading model for ticker symbol: CTXS
Processing trading model for ticker symbol: D
Processing trading model for ticker symbol: DDOG
Processing trading model for ticker symbol: DG
Processing trading model for ticker symbol: DHR
Processing trading model for ticker symbol: DOCU
Processing trading model for ticker symbol: DPZ
Processing trading model for ticker symbol: DXCM
Processing trading model for ticker symbol: EA
Processing trading model for ticker symbol: EBAY
Processing trading model for ticker symbol: EBS
Processing trading model for ticker symbol: EQIX
Processing trading model for ticker symbol: ETSY
Processing trading model for ticker symbol: EVBG
Processing trading model for ticker symbol: GILD
Processing trading model for ticker symbol: GIS
Processing trading model for ticker symbol: GOLD
Processing trading model for ticker symbol: GOOG
Processing trading model for ticker symbol: GSK
Processing trading model for ticker symbol: HD
Processing trading model for ticker symbol: HRL
Processing trading model for ticker symbol: JNJ
Processing trading model for ticker symbol: K
Processing trading model for ticker symbol: KR
Processing trading model for ticker symbol: LLY
Processing trading model for ticker symbol: LOGI
Processing trading model for ticker symbol: LVGO
Processing trading model for ticker symbol: MASI
Processing trading model for ticker symbol: MDLZ
Processing trading model for ticker symbol: MKC
Processing trading model for ticker symbol: MKTX
Processing trading model for ticker symbol: MRNA
Processing trading model for ticker symbol: MRVL
Processing trading model for ticker symbol: MSFT
Processing trading model for ticker symbol: NET
Processing trading model for ticker symbol: NFLX
Processing trading model for ticker symbol: NVDA
Processing trading model for ticker symbol: OKTA
Processing trading model for ticker symbol: PANW
Processing trading model for ticker symbol: PEP
Processing trading model for ticker symbol: PFE
Processing trading model for ticker symbol: PG
Processing trading model for ticker symbol: PLD
Processing trading model for ticker symbol: PRGO
Processing trading model for ticker symbol: PTON
Processing trading model for ticker symbol: PYPL
Processing trading model for ticker symbol: REGN
Processing trading model for ticker symbol: RMD
Processing trading model for ticker symbol: RNG
Processing trading model for ticker symbol: SHOP
Processing trading model for ticker symbol: SJM
Processing trading model for ticker symbol: SNY
Processing trading model for ticker symbol: SPGI
Processing trading model for ticker symbol: SPLK
Processing trading model for ticker symbol: SPOT
Processing trading model for ticker symbol: SQ
Processing trading model for ticker symbol: TDOC
Processing trading model for ticker symbol: TGT
Processing trading model for ticker symbol: TMO
Processing trading model for ticker symbol: TTD
Processing trading model for ticker symbol: TTWO
Processing trading model for ticker symbol: TW
Processing trading model for ticker symbol: TWLO
Processing trading model for ticker symbol: UNH
Processing trading model for ticker symbol: VEEV
Processing trading model for ticker symbol: VZ
Processing trading model for ticker symbol: WING
Processing trading model for ticker symbol: WIX
Processing trading model for ticker symbol: WMT
Processing trading model for ticker symbol: WORK
Processing trading model for ticker symbol: ZM
Processing trading model for ticker symbol: ZS
Processing trading model for ticker symbol: ZTS
In [32]:
for ticker in stock_list:
    print('List the signal change and entry/exit points for', ticker)
    print(model_collection[ticker][(model_collection[ticker].signal_chg != 0) | (model_collection[ticker].entry_exit != 0)])
    print()
List the signal change and entry/exit points for AAPL
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  264.47  261.13  258.465  247.1044    11.3606     1.0         1.0         0.0
2019-11-14  262.64  263.75  259.853  248.4064    11.4466     1.0         0.0         1.0
2020-02-25  288.08  300.95  315.886  317.2312    -1.3452     0.0        -1.0         0.0
2020-02-26  292.65  286.53  313.190  316.2744    -3.0844     0.0         0.0        -1.0
2020-04-13  273.25  268.31  256.556  254.2964     2.2596     1.0         1.0         0.0
2020-04-14  287.05  280.00  259.780  255.1316     4.6484     1.0         0.0         1.0

List the signal change and entry/exit points for ABBV
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  86.66  85.74   83.419  79.1836     4.2354     1.0         1.0         0.0
2019-11-14  87.63  86.48   84.227  79.7108     4.5162     1.0         0.0         1.0
2019-12-13  87.84  88.78   87.015  87.1776    -0.1626     0.0        -1.0         0.0
2019-12-16  89.43  88.38   87.255  87.3464    -0.0914     0.0         0.0        -1.0
2019-12-17  90.08  90.00   87.668  87.5232     0.1448     1.0         1.0         0.0
2019-12-18  89.33  90.05   87.881  87.6388     0.2422     1.0         0.0         1.0
2020-01-17  88.00  89.13   89.032  89.1292    -0.0972     0.0        -1.0         0.0
2020-01-21  87.99  87.68   88.891  89.0996    -0.2086     0.0         0.0        -1.0
2020-02-12  97.79  95.98   88.410  87.6452     0.7648     1.0         1.0         0.0
2020-02-13  95.35  96.85   89.767  87.8784     1.8886     1.0         0.0         1.0
2020-03-05  90.61  90.06   89.544  90.0368    -0.4928     0.0        -1.0         0.0
2020-03-06  88.82  88.73   88.930  90.3184    -1.3884     0.0         0.0        -1.0
2020-04-13  80.30  80.66   76.308  75.5724     0.7356     1.0         1.0         0.0
2020-04-14  82.13  80.62   76.997  75.4468     1.5502     1.0         0.0         1.0

List the signal change and entry/exit points for ABT
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  84.22  83.96   83.340  82.3404     0.9996     1.0         1.0         0.0
2019-11-14  84.12  84.09   83.391  82.4996     0.8914     1.0         0.0         1.0
2020-01-13  85.12  85.50   86.183  86.2672    -0.0842     0.0        -1.0         0.0
2020-01-14  85.74  84.13   86.077  86.2776    -0.2006     0.0         0.0        -1.0
2020-01-21  89.73  88.86   86.912  86.8808     0.0312     1.0         1.0         0.0
2020-01-22  91.86  90.78   87.512  87.1012     0.4108     1.0         0.0         1.0
2020-02-13  88.68  88.50   88.427  88.4696    -0.0426     0.0        -1.0         0.0
2020-02-14  89.66  88.87   88.679  88.5984     0.0806     1.0         1.0        -1.0
2020-02-18  88.88  89.42   88.861  88.7392     0.1218     1.0         0.0         1.0
2020-02-20  88.46  89.10   88.864  89.0176    -0.1536     0.0        -1.0         0.0
2020-02-21  87.45  88.04   88.662  89.0204    -0.3584     0.0         0.0        -1.0
2020-04-07  81.93  83.45   77.949  76.9456     1.0034     1.0         1.0         0.0
2020-04-08  84.95  82.50   79.369  77.0600     2.3090     1.0         0.0         1.0
2020-05-14  91.78  90.50   92.529  92.6232    -0.0942     0.0        -1.0         0.0
2020-05-15  89.89  89.96   92.533  92.7772    -0.2442     0.0         0.0        -1.0

List the signal change and entry/exit points for ADBE
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  293.54  291.86  286.870  277.5096     9.3604     1.0         1.0         0.0
2019-11-14  294.53  293.54  288.530  278.2916    10.2384     1.0         0.0         1.0
2020-03-02  360.28  349.81  361.351  362.6600    -1.3090     0.0        -1.0         0.0
2020-03-03  348.34  361.76  358.300  362.7176    -4.4176     0.0         0.0        -1.0
2020-04-09  318.70  318.65  310.518  310.2800     0.2380     1.0         1.0         0.0
2020-04-13  320.65  315.94  312.000  309.6352     2.3648     1.0         0.0         1.0

List the signal change and entry/exit points for AKAM
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-26   88.69   87.74   87.471   87.4124     0.0586     1.0         1.0         0.0
2019-11-27   87.29   88.83   87.640   87.2952     0.3448     1.0         0.0         1.0
2019-12-06   85.25   84.87   86.636   86.6824    -0.0464     0.0        -1.0         0.0
2019-12-09   84.11   84.95   86.250   86.5468    -0.2968     0.0         0.0        -1.0
2019-12-31   86.38   85.73   85.730   85.6508     0.0792     1.0         1.0         0.0
2020-01-02   87.64   86.84   86.065   85.6468     0.4182     1.0         0.0         1.0
2020-03-02   90.91   87.31   95.562   95.7700    -0.2080     0.0        -1.0         0.0
2020-03-03   90.28   90.53   94.494   95.6120    -1.1180     0.0         0.0        -1.0
2020-03-30   94.19   92.09   90.080   89.0952     0.9848     1.0         1.0         0.0
2020-03-31   91.49   92.89   90.386   89.0056     1.3804     1.0         0.0         1.0
2020-05-07  100.60  101.28   99.578   99.7384    -0.1604     0.0        -1.0         0.0
2020-05-08  101.15  101.52   99.415  100.0596    -0.6446     0.0         0.0        -1.0
2020-05-28  102.91   99.91   99.568   99.5156     0.0524     1.0         1.0         0.0
2020-05-29  105.80  103.76  100.425   99.6572     0.7678     1.0         0.0         1.0

List the signal change and entry/exit points for AMD
            close    open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  37.52  36.650   36.030  33.2712     2.7588     1.0         1.0         0.0
2019-11-14  38.35  37.510   36.472  33.6700     2.8020     1.0         0.0         1.0
2020-02-06  49.32  48.800   49.006  49.1902    -0.1842     0.0        -1.0         0.0
2020-02-07  49.73  48.910   48.944  49.2154    -0.2714     0.0         0.0        -1.0
2020-02-12  53.89  54.530   50.209  49.8038     0.4052     1.0         1.0         0.0
2020-02-13  54.53  53.430   50.784  50.0718     0.7122     1.0         0.0         1.0
2020-03-03  46.75  49.030   49.733  50.5676    -0.8346     0.0        -1.0         0.0
2020-03-04  50.11  48.250   48.854  50.5508    -1.6968     0.0         0.0        -1.0
2020-04-02  44.49  43.400   44.767  44.4384     0.3286     1.0         1.0         0.0
2020-04-03  42.59  44.300   45.065  44.3228     0.7422     1.0         0.0         1.0
2020-05-11  55.74  52.900   52.923  53.2108    -0.2878     0.0        -1.0         0.0
2020-05-12  53.76  56.186   52.748  53.4604    -0.7124     0.0         0.0        -1.0
2020-05-21  54.65  56.680   54.468  54.2384     0.2296     1.0         1.0         0.0
2020-05-22  55.17  54.770   54.666  54.1812     0.4848     1.0         0.0         1.0
2020-06-04  52.63  52.590   53.382  53.3992    -0.0172     0.0        -1.0         0.0
2020-06-05  53.10  52.990   53.227  53.4276    -0.2006     0.0         0.0        -1.0

List the signal change and entry/exit points for AMT
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-26  214.79  209.59  213.144  213.0428     0.1012     1.0         1.0         0.0
2019-11-27  214.91  214.80  213.603  212.5984     1.0046     1.0         0.0         1.0
2019-12-13  212.52  209.11  211.629  211.8656    -0.2366     0.0        -1.0         0.0
2019-12-16  215.60  213.00  212.232  212.2548    -0.0228     0.0         0.0        -1.0
2019-12-19  224.20  217.52  213.830  213.4412     0.3888     1.0         1.0         0.0
2019-12-20  227.74  226.80  215.384  214.0788     1.3052     1.0         0.0         1.0
2020-03-03  242.65  240.75  241.970  242.4776    -0.5076     0.0        -1.0         0.0
2020-03-04  251.66  245.58  242.326  243.0568    -0.7308     0.0         0.0        -1.0
2020-04-08  249.25  229.64  225.173  221.2348     3.9382     1.0         1.0         0.0
2020-04-09  259.60  248.50  228.913  221.7412     7.1718     1.0         0.0         1.0
2020-05-06  237.26  240.86  241.012  241.3716    -0.3596     0.0        -1.0         0.0
2020-05-07  235.25  239.18  239.677  242.5028    -2.8258     0.0         0.0        -1.0
2020-05-29  258.17  257.16  240.854  238.9744     1.8796     1.0         1.0         0.0
2020-06-01  264.31  258.03  244.327  239.7624     4.5646     1.0         0.0         1.0

List the signal change and entry/exit points for AMZN
              close     open   fast_ma    slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  1753.11  1773.39  1784.708  1772.0376    12.6704     1.0         1.0         0.0
2019-11-14  1754.60  1751.43  1782.502  1773.4112     9.0908     1.0         0.0         1.0
2019-11-18  1752.53  1738.30  1772.094  1774.3580    -2.2640     0.0        -1.0         0.0
2019-11-19  1752.79  1756.99  1767.202  1773.7744    -6.5724     0.0         0.0        -1.0
2019-12-06  1751.60  1751.20  1774.014  1771.6084     2.4056     1.0         1.0         0.0
2019-12-09  1749.51  1750.66  1774.393  1769.9312     4.4618     1.0         0.0         1.0
2019-12-12  1760.33  1750.00  1760.290  1763.7760    -3.4860     0.0        -1.0         0.0
2019-12-13  1760.94  1765.00  1756.304  1762.6856    -6.3816     0.0         0.0        -1.0
2019-12-19  1792.28  1780.50  1764.649  1764.5872     0.0618     1.0         1.0         0.0
2019-12-20  1786.50  1799.62  1768.139  1765.8632     2.2758     1.0         0.0         1.0
2020-01-29  1858.00  1864.00  1866.995  1868.2040    -1.2090     0.0        -1.0         0.0
2020-01-30  1870.68  1858.00  1867.861  1871.3112    -3.4502     0.0         0.0        -1.0
2020-01-31  2008.72  2051.47  1880.939  1880.0916     0.8474     1.0         1.0         0.0
2020-02-03  2004.20  2010.60  1894.887  1885.5088     9.3782     1.0         0.0         1.0
2020-03-03  1908.99  1975.37  2001.190  2028.4368   -27.2468     0.0        -1.0         0.0
2020-03-04  1975.83  1946.57  1981.751  2033.3400   -51.5890     0.0         0.0        -1.0
2020-03-30  1963.95  1922.83  1891.317  1878.4596    12.8574     1.0         1.0         0.0
2020-03-31  1949.72  1964.35  1905.505  1877.5388    27.9662     1.0         0.0         1.0

List the signal change and entry/exit points for ATVI
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-12-05  54.99  54.09  54.1630  54.1190     0.0440     1.0         1.0         0.0
2019-12-06  55.21  55.12  54.3150  54.0862     0.2288     1.0         0.0         1.0
2020-02-04  59.21  58.86  59.5390  59.6510    -0.1120     0.0        -1.0         0.0
2020-02-05  58.85  60.14  59.3920  59.6498    -0.2578     0.0         0.0        -1.0
2020-02-10  61.63  61.42  59.9490  59.9170     0.0320     1.0         1.0         0.0
2020-02-11  61.19  61.93  60.0650  59.9750     0.0900     1.0         0.0         1.0
2020-03-03  58.75  60.56  60.8735  60.8826    -0.0091     0.0        -1.0         0.0
2020-03-04  62.55  60.00  60.6915  60.9834    -0.2919     0.0         0.0        -1.0
2020-04-06  61.60  61.13  57.9790  57.6292     0.3498     1.0         1.0         0.0
2020-04-07  59.87  62.53  58.5230  57.6740     0.8490     1.0         0.0         1.0
2020-06-04  69.81  69.50  71.3600  71.3736    -0.0136     0.0        -1.0         0.0
2020-06-05  69.43  67.99  71.0560  71.6016    -0.5456     0.0         0.0        -1.0

List the signal change and entry/exit points for BAX
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-21  82.25  81.85   80.757  80.5696     0.1874     1.0         1.0         0.0
2019-11-22  82.02  82.03   81.108  80.3308     0.7772     1.0         0.0         1.0
2020-02-27  84.27  85.25   90.464  90.7576    -0.2936     0.0        -1.0         0.0
2020-02-28  83.47  81.81   89.554  90.4524    -0.8984     0.0         0.0        -1.0
2020-04-07  82.51  86.74   80.665  80.1144     0.5506     1.0         1.0         0.0
2020-04-08  84.48  83.10   81.756  79.8512     1.9048     1.0         0.0         1.0
2020-05-11  88.93  87.76   88.849  88.9444    -0.0954     0.0        -1.0         0.0
2020-05-12  85.89  89.41   88.338  88.9828    -0.6448     0.0         0.0        -1.0
2020-06-03  90.48  91.00   88.292  87.9708     0.3212     1.0         1.0         0.0
2020-06-04  88.63  89.23   88.413  87.8564     0.5566     1.0         0.0         1.0

List the signal change and entry/exit points for BNTX
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  18.55  17.80   18.139  16.6572     1.4818     1.0         1.0         0.0
2019-11-14  19.00  18.86   18.357  16.8476     1.5094     1.0         0.0         1.0
2020-01-24  34.99  35.32   35.913  36.6420    -0.7290     0.0        -1.0         0.0
2020-01-27  33.20  33.24   35.265  36.5700    -1.3050     0.0         0.0        -1.0
2020-02-27  33.88  31.45   32.158  32.0096     0.1484     1.0         1.0         0.0
2020-02-28  35.10  33.40   32.604  31.9456     0.6584     1.0         0.0         1.0
2020-04-14  41.63  43.82   49.301  49.8868    -0.5858     0.0        -1.0         0.0
2020-04-15  38.58  40.90   47.319  50.0716    -2.7526     0.0         0.0        -1.0
2020-05-05  50.00  48.41   48.410  47.2368     1.1732     1.0         1.0         0.0
2020-05-06  47.78  50.14   47.838  46.8120     1.0260     1.0         0.0         1.0

List the signal change and entry/exit points for BSX
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  41.42  41.28   40.954  40.0256     0.9284     1.0         1.0         0.0
2019-11-14  41.57  41.45   40.941  40.1692     0.7718     1.0         0.0         1.0
2020-01-15  42.57  42.81   44.878  44.8992    -0.0212     0.0        -1.0         0.0
2020-01-16  43.20  42.71   44.665  44.8668    -0.2018     0.0         0.0        -1.0
2020-04-08  35.13  33.99   32.041  31.3996     0.6414     1.0         1.0         0.0
2020-04-09  36.83  35.25   32.582  31.3744     1.2076     1.0         0.0         1.0
2020-05-19  35.43  36.39   36.378  36.3948    -0.0168     0.0        -1.0         0.0
2020-05-20  37.18  35.92   36.507  36.4904     0.0166     1.0         1.0        -1.0
2020-05-21  34.79  35.52   36.286  36.4640    -0.1780     0.0        -1.0         1.0
2020-05-22  35.91  35.57   36.059  36.3688    -0.3098     0.0         0.0        -1.0
2020-06-01  37.50  37.71   36.602  36.5768     0.0252     1.0         1.0         0.0
2020-06-02  37.54  37.62   36.714  36.5984     0.1156     1.0         0.0         1.0

List the signal change and entry/exit points for BYND
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2020-01-07   83.89   75.00   76.679   76.0908     0.5882     1.0         1.0         0.0
2020-01-08   81.48   86.00   77.053   76.1792     0.8738     1.0         0.0         1.0
2020-02-13  112.01  114.79  112.896  113.6008    -0.7048     0.0        -1.0         0.0
2020-02-14  116.22  113.00  113.476  114.6396    -1.1636     0.0         0.0        -1.0
2020-02-19  126.10  124.07  116.646  116.1484     0.4976     1.0         1.0         0.0
2020-02-20  120.58  126.08  117.687  116.2896     1.3974     1.0         0.0         1.0
2020-02-28   89.65   88.00  113.456  114.4020    -0.9460     0.0        -1.0         0.0
2020-03-02   96.10   95.00  111.444  113.4664    -2.0224     0.0         0.0        -1.0
2020-04-14   78.05   79.99   67.848   67.6664     0.1816     1.0         1.0         0.0
2020-04-15   74.70   76.71   68.658   67.0152     1.6428     1.0         0.0         1.0

List the signal change and entry/exit points for CAG
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  28.31  27.61   27.641  27.5408     0.1002     1.0         1.0         0.0
2019-11-14  28.44  28.26   27.780  27.5444     0.2356     1.0         0.0         1.0
2019-12-18  29.05  29.32   28.848  28.8624    -0.0144     0.0        -1.0         0.0
2019-12-19  33.66  31.16   29.336  29.0764     0.2596     1.0         1.0        -1.0
2019-12-20  35.07  33.67   29.953  29.3416     0.6114     1.0         0.0         1.0
2020-01-21  32.76  32.81   32.273  32.4636    -0.1906     0.0        -1.0         0.0
2020-01-22  32.29  32.82   32.270  32.6200    -0.3500     0.0         0.0        -1.0
2020-02-05  32.67  32.14   32.772  32.6988     0.0732     1.0         1.0         0.0
2020-02-06  32.09  32.40   32.712  32.6128     0.0992     1.0         0.0         1.0
2020-02-13  32.58  32.54   32.474  32.5136    -0.0396     0.0        -1.0         0.0
2020-02-14  32.69  32.63   32.451  32.5328    -0.0818     0.0         0.0        -1.0
2020-04-01  29.76  28.34   27.383  27.3480     0.0350     1.0         1.0         0.0
2020-04-02  29.93  29.19   27.745  27.4904     0.2546     1.0         0.0         1.0
2020-05-14  33.83  34.11   33.559  33.6120    -0.0530     0.0        -1.0         0.0
2020-05-15  34.17  34.11   33.648  33.6804    -0.0324     0.0         0.0        -1.0
2020-06-04  33.31  33.62   33.646  33.5776     0.0684     1.0         1.0         0.0
2020-06-05  33.42  33.31   33.763  33.5768     0.1862     1.0         0.0         1.0

List the signal change and entry/exit points for CCI
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-12-09  135.88  135.18  133.921  133.5364     0.3846     1.0         1.0         0.0
2019-12-10  134.00  136.38  134.182  133.5164     0.6656     1.0         0.0         1.0
2020-03-09  150.28  152.98  156.867  158.3812    -1.5142     0.0        -1.0         0.0
2020-03-10  159.35  153.61  156.500  158.7876    -2.2876     0.0         0.0        -1.0
2020-04-08  157.36  148.00  145.405  143.4660     1.9390     1.0         1.0         0.0
2020-04-09  164.14  158.26  147.572  143.5420     4.0300     1.0         0.0         1.0
2020-05-08  157.70  157.32  158.013  158.5640    -0.5510     0.0        -1.0         0.0
2020-05-11  159.79  155.83  157.612  159.1308    -1.5188     0.0         0.0        -1.0
2020-05-29  172.16  168.12  158.209  157.7228     0.4862     1.0         1.0         0.0
2020-06-01  173.77  171.74  160.572  158.2092     2.3628     1.0         0.0         1.0

List the signal change and entry/exit points for CHGG
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  36.05  35.29   33.280  32.6796     0.6004     1.0         1.0         0.0
2019-11-14  36.52  35.91   33.866  32.8808     0.9852     1.0         0.0         1.0
2020-02-13  39.90  39.74   41.891  41.9684    -0.0774     0.0        -1.0         0.0
2020-02-14  40.08  39.96   41.776  41.9520    -0.1760     0.0         0.0        -1.0
2020-04-07  35.13  35.67   35.163  34.9956     0.1674     1.0         1.0         0.0
2020-04-08  36.84  35.75   35.444  34.8776     0.5664     1.0         0.0         1.0

List the signal change and entry/exit points for CHWY
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-12-04  22.89  24.53   23.623  23.5984     0.0246     1.0         1.0         0.0
2019-12-05  24.33  23.89   23.736  23.5560     0.1800     1.0         0.0         1.0
2020-01-29  28.25  29.23   29.129  29.2216    -0.0926     0.0        -1.0         0.0
2020-01-30  28.62  28.17   28.941  29.2288    -0.2878     0.0         0.0        -1.0
2020-02-21  30.40  32.05   28.719  28.5304     0.1886     1.0         1.0         0.0
2020-02-24  30.84  28.80   29.015  28.5932     0.4218     1.0         0.0         1.0
2020-03-10  27.11  27.74   28.596  28.6172    -0.0212     0.0        -1.0         0.0
2020-03-11  25.46  26.72   28.068  28.5420    -0.4740     0.0         0.0        -1.0
2020-03-25  31.07  33.60   29.305  28.9776     0.3274     1.0         1.0         0.0
2020-03-26  33.81  30.89   30.409  29.1604     1.2486     1.0         0.0         1.0
2020-05-11  39.05  39.67   41.486  41.6656    -0.1796     0.0        -1.0         0.0
2020-05-12  40.36  39.66   41.106  41.9512    -0.8452     0.0         0.0        -1.0
2020-06-02  49.42  45.19   42.502  41.8596     0.6424     1.0         1.0         0.0
2020-06-03  48.22  48.66   43.319  42.0220     1.2970     1.0         0.0         1.0

List the signal change and entry/exit points for CL
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-29  67.82  67.81   67.160  67.0944     0.0656     1.0         1.0         0.0
2019-12-02  67.57  68.00   67.280  67.0608     0.2192     1.0         0.0         1.0
2020-03-02  72.44  68.51   73.434  73.8840    -0.4500     0.0        -1.0         0.0
2020-03-03  71.78  72.55   73.005  73.9512    -0.9462     0.0         0.0        -1.0
2020-04-08  70.22  69.64   67.312  66.8864     0.4256     1.0         1.0         0.0
2020-04-09  69.91  70.66   67.921  66.7892     1.1318     1.0         0.0         1.0
2020-05-06  67.84  69.39   70.057  70.2828    -0.2258     0.0        -1.0         0.0
2020-05-07  68.80  68.90   69.814  70.4128    -0.5988     0.0         0.0        -1.0
2020-05-28  72.09  71.60   69.907  69.7688     0.1382     1.0         1.0         0.0
2020-05-29  72.33  72.14   70.434  69.8128     0.6212     1.0         0.0         1.0

List the signal change and entry/exit points for CLX
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-12-04  150.30  147.23  147.546  147.2940     0.2520     1.0         1.0         0.0
2019-12-05  150.79  149.90  147.987  147.2936     0.6934     1.0         0.0         1.0
2020-04-02  179.70  173.79  172.991  174.0764    -1.0854     0.0        -1.0         0.0
2020-04-03  177.54  178.31  173.005  174.8012    -1.7962     0.0         0.0        -1.0
2020-04-08  181.04  182.88  176.985  176.0620     0.9230     1.0         1.0         0.0
2020-04-09  184.21  179.23  178.095  176.3964     1.6986     1.0         0.0         1.0
2020-06-05  197.57  202.81  202.569  202.8224    -0.2534     0.0        -1.0         0.0

List the signal change and entry/exit points for CMG
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-26  815.84  799.05  771.961  766.7676     5.1934     1.0         1.0         0.0
2019-11-27  816.75  817.13  778.306  767.9100    10.3960     1.0         0.0         1.0
2020-02-28  773.58  734.50  874.850  876.3612    -1.5112     0.0        -1.0         0.0
2020-03-02  768.81  779.52  859.537  872.3252   -12.7882     0.0         0.0        -1.0
2020-04-06  689.99  632.30  645.455  636.0728     9.3822     1.0         1.0         0.0
2020-04-07  704.30  750.00  649.480  634.8020    14.6780     1.0         0.0         1.0

List the signal change and entry/exit points for CNC
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  55.35  54.80   53.225  49.6260     3.5990     1.0         1.0         0.0
2019-11-14  54.65  55.46   53.382  50.0484     3.3336     1.0         0.0         1.0
2019-12-20  61.93  61.24   59.677  59.8004    -0.1234     0.0        -1.0         0.0
2019-12-23  62.90  62.29   60.050  60.0140     0.0360     1.0         1.0        -1.0
2019-12-24  63.23  63.00   60.411  60.1688     0.2422     1.0         0.0         1.0
2020-02-06  64.35  65.81   64.208  64.2088    -0.0008     0.0        -1.0         0.0
2020-02-07  63.16  64.43   63.863  64.2600    -0.3970     0.0         0.0        -1.0
2020-02-19  67.37  66.72   65.169  64.8392     0.3298     1.0         1.0         0.0
2020-02-20  65.73  66.70   65.135  64.9416     0.1934     1.0         0.0         1.0
2020-02-25  55.95  59.78   64.163  64.4056    -0.2426     0.0        -1.0         0.0
2020-02-26  54.39  55.84   63.231  63.9616    -0.7306     0.0         0.0        -1.0
2020-04-07  60.15  62.41   57.016  56.2684     0.7476     1.0         1.0         0.0
2020-04-08  65.15  60.63   58.302  56.3760     1.9260     1.0         0.0         1.0
2020-05-11  67.54  65.39   66.263  66.9132    -0.6502     0.0        -1.0         0.0
2020-05-12  66.75  68.38   66.221  67.1784    -0.9574     0.0         0.0        -1.0

List the signal change and entry/exit points for COR
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2020-01-15  115.54  114.02  112.300  112.0904     0.2096     1.0         1.0         0.0
2020-01-16  117.37  115.80  112.951  112.2708     0.6802     1.0         0.0         1.0
2020-02-12  112.12  111.36  115.033  115.5256    -0.4926     0.0        -1.0         0.0
2020-02-13  113.14  112.23  114.572  115.6120    -1.0400     0.0         0.0        -1.0
2020-04-03  111.58  113.56  107.715  106.9820     0.7330     1.0         1.0         0.0
2020-04-06  115.89  113.79  109.959  107.2368     2.7222     1.0         0.0         1.0
2020-05-26  120.89  123.93  121.224  121.3052    -0.0812     0.0        -1.0         0.0
2020-05-27  124.61  121.94  121.606  121.6524    -0.0464     0.0         0.0        -1.0
2020-05-28  127.75  125.47  122.268  122.0104     0.2576     1.0         1.0         0.0
2020-05-29  124.82  124.39  122.712  122.2068     0.5052     1.0         0.0         1.0

List the signal change and entry/exit points for COST
             close     open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  302.90  300.180  300.284  299.3636     0.9204     1.0         1.0         0.0
2019-11-14  304.59  304.390  301.032  299.6616     1.3704     1.0         0.0         1.0
2019-12-03  295.67  295.130  299.631  300.3056    -0.6746     0.0        -1.0         0.0
2019-12-04  296.52  296.040  299.059  300.3320    -1.2730     0.0         0.0        -1.0
2020-01-13  299.87  296.920  294.666  294.5558     0.1102     1.0         1.0         0.0
2020-01-14  299.75  299.250  295.127  294.7480     0.3790     1.0         0.0         1.0
2020-03-02  309.14  294.440  309.869  310.3900    -0.5210     0.0        -1.0         0.0
2020-03-03  302.73  308.858  307.937  310.1212    -2.1842     0.0         0.0        -1.0
2020-04-13  299.62  298.580  295.751  294.7884     0.9626     1.0         1.0         0.0
2020-04-14  314.14  302.750  298.053  295.2748     2.7782     1.0         0.0         1.0
2020-05-08  305.94  305.900  305.798  306.5460    -0.7480     0.0        -1.0         0.0
2020-05-11  310.33  305.640  305.953  307.4132    -1.4602     0.0         0.0        -1.0
2020-06-01  308.29  307.900  305.383  305.1228     0.2602     1.0         1.0         0.0
2020-06-02  307.09  307.950  305.816  305.0552     0.7608     1.0         0.0         1.0

List the signal change and entry/exit points for COUP
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-19  147.46  144.82  136.501  134.5044     1.9966     1.0         1.0         0.0
2019-11-20  150.30  148.16  138.405  134.9040     3.5010     1.0         0.0         1.0
2019-12-17  140.49  143.72  145.832  146.3432    -0.5112     0.0        -1.0         0.0
2019-12-18  143.83  141.13  145.182  146.7748    -1.5928     0.0         0.0        -1.0
2020-01-02  153.57  149.55  148.516  148.1332     0.3828     1.0         1.0         0.0
2020-01-03  159.58  150.54  150.091  148.3740     1.7170     1.0         0.0         1.0
2020-02-05  158.64  170.54  163.726  165.0320    -1.3060     0.0        -1.0         0.0
2020-02-06  158.55  158.56  163.056  165.5240    -2.4680     0.0         0.0        -1.0
2020-02-21  163.31  167.23  165.206  164.9344     0.2716     1.0         1.0         0.0
2020-02-24  160.29  154.01  165.447  164.5868     0.8602     1.0         0.0         1.0
2020-02-28  149.75  147.26  162.618  162.6564    -0.0384     0.0        -1.0         0.0
2020-03-02  158.53  154.79  161.724  162.4496    -0.7256     0.0         0.0        -1.0
2020-03-30  150.52  147.63  140.281  140.0836     0.1974     1.0         1.0         0.0
2020-03-31  139.73  146.28  140.540  139.2768     1.2632     1.0         0.0         1.0

List the signal change and entry/exit points for CPB
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-20  48.28  48.23   47.132  47.0136     0.1184     1.0         1.0         0.0
2019-11-21  46.84  48.03   47.174  46.9688     0.2052     1.0         0.0         1.0
2020-01-13  47.72  47.73   48.271  48.3516    -0.0806     0.0        -1.0         0.0
2020-01-14  47.54  47.74   48.100  48.3432    -0.2432     0.0         0.0        -1.0
2020-01-29  48.34  48.87   48.476  48.4732     0.0028     1.0         1.0         0.0
2020-01-30  49.03  48.41   48.601  48.4700     0.1310     1.0         0.0         1.0
2020-02-19  47.79  48.15   48.464  48.4756    -0.0116     0.0        -1.0         0.0
2020-02-20  47.74  47.72   48.338  48.4836    -0.1456     0.0         0.0        -1.0
2020-03-06  51.76  51.83   48.680  48.5224     0.1576     1.0         1.0         0.0
2020-03-09  50.20  49.69   48.898  48.5948     0.3032     1.0         0.0         1.0
2020-03-24  43.50  43.93   48.028  48.4812    -0.4532     0.0        -1.0         0.0
2020-03-25  41.41  43.13   47.122  48.2260    -1.1040     0.0         0.0        -1.0
2020-04-14  50.07  49.50   47.595  47.3284     0.2666     1.0         1.0         0.0
2020-04-15  50.50  51.42   48.029  47.2980     0.7310     1.0         0.0         1.0
2020-05-26  47.36  48.45   50.302  50.5608    -0.2588     0.0        -1.0         0.0
2020-05-27  48.66  47.00   49.928  50.4896    -0.5616     0.0         0.0        -1.0

List the signal change and entry/exit points for CRM
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  162.60  163.05  159.876  153.3064     6.5696     1.0         1.0         0.0
2019-11-14  163.05  163.03  160.532  153.9720     6.5600     1.0         0.0         1.0
2019-12-06  158.01  158.10  160.669  161.1612    -0.4922     0.0        -1.0         0.0
2019-12-09  157.48  157.38  160.136  161.0708    -0.9348     0.0         0.0        -1.0
2019-12-24  163.25  163.31  161.605  161.1064     0.4986     1.0         1.0         0.0
2019-12-26  164.51  163.40  162.417  161.1284     1.2886     1.0         0.0         1.0
2020-02-28  170.40  164.99  184.540  185.1540    -0.6140     0.0        -1.0         0.0
2020-03-02  176.76  172.20  183.221  184.9400    -1.7190     0.0         0.0        -1.0
2020-04-13  152.50  154.12  144.731  144.6208     0.1102     1.0         1.0         0.0
2020-04-14  157.71  155.71  145.517  144.8808     0.6362     1.0         0.0         1.0

List the signal change and entry/exit points for CRWD
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-18  57.07  60.00   50.404  49.8974     0.5066     1.0         1.0         0.0
2019-11-19  56.00  57.45   51.134  49.9290     1.2050     1.0         0.0         1.0
2019-12-12  47.30  47.95   52.078  52.5940    -0.5160     0.0        -1.0         0.0
2019-12-13  49.41  47.50   51.219  52.7504    -1.5314     0.0         0.0        -1.0
2020-01-08  55.66  54.20   51.231  50.5712     0.6598     1.0         1.0         0.0
2020-01-09  55.94  56.95   52.050  50.5140     1.5360     1.0         0.0         1.0
2020-02-28  59.64  55.60   61.265  61.6976    -0.4326     0.0        -1.0         0.0
2020-03-02  59.13  60.20   60.693  61.6928    -0.9998     0.0         0.0        -1.0
2020-03-30  57.72  58.81   50.710  50.6804     0.0296     1.0         1.0         0.0
2020-03-31  55.68  57.03   52.477  50.5980     1.8790     1.0         0.0         1.0

List the signal change and entry/exit points for CTXS
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  111.94  111.05  110.155  105.7576     4.3974     1.0         1.0         0.0
2019-11-14  111.39  111.46  110.408  106.3348     4.0732     1.0         0.0         1.0
2019-12-10  109.68  110.22  111.571  111.7368    -0.1658     0.0        -1.0         0.0
2019-12-11  109.45  109.96  111.119  111.7632    -0.6442     0.0         0.0        -1.0
2020-01-06  113.01  111.32  111.170  111.0408     0.1292     1.0         1.0         0.0
2020-01-07  112.41  112.51  111.305  111.0248     0.2802     1.0         0.0         1.0
2020-02-20  119.57  122.14  121.915  122.0204    -0.1054     0.0        -1.0         0.0
2020-02-21  116.08  119.01  121.300  122.0512    -0.7512     0.0         0.0        -1.0
2020-03-17  127.46  113.76  114.696  114.6396     0.0564     1.0         1.0         0.0
2020-03-18  130.50  122.64  116.733  114.9948     1.7382     1.0         0.0         1.0
2020-05-06  147.72  147.70  144.446  145.0168    -0.5708     0.0        -1.0         0.0
2020-05-07  150.68  149.03  145.358  145.4784    -0.1204     0.0         0.0        -1.0
2020-05-08  150.98  151.59  145.852  145.8168     0.0352     1.0         1.0         0.0
2020-05-11  154.02  151.89  146.506  146.3244     0.1816     1.0         0.0         1.0
2020-05-20  137.44  138.04  145.631  146.0296    -0.3986     0.0        -1.0         0.0
2020-05-21  136.73  137.81  144.236  145.4764    -1.2404     0.0         0.0        -1.0

List the signal change and entry/exit points for D
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-25  83.23  83.55   82.162  81.9208     0.2412     1.0         1.0         0.0
2019-11-26  83.46  83.35   82.536  81.9464     0.5896     1.0         0.0         1.0
2019-12-11  80.90  80.48   81.548  81.6684    -0.1204     0.0        -1.0         0.0
2019-12-12  80.69  80.79   81.309  81.6584    -0.3494     0.0         0.0        -1.0
2019-12-31  82.82  82.27   81.828  81.7464     0.0816     1.0         1.0         0.0
2020-01-02  81.96  82.88   81.868  81.6956     0.1724     1.0         0.0         1.0
2020-03-04  89.03  84.23   85.904  85.9268    -0.0228     0.0        -1.0         0.0
2020-03-05  87.17  87.37   85.696  85.9980    -0.3020     0.0         0.0        -1.0
2020-04-13  79.53  80.60   74.643  73.8360     0.8070     1.0         1.0         0.0
2020-04-14  82.02  81.60   75.164  73.8636     1.3004     1.0         0.0         1.0
2020-05-08  78.40  78.72   77.717  77.7716    -0.0546     0.0        -1.0         0.0
2020-05-11  79.24  77.70   77.789  78.1592    -0.3702     0.0         0.0        -1.0
2020-05-18  79.85  79.99   78.707  78.5100     0.1970     1.0         1.0         0.0
2020-05-19  78.83  79.44   78.796  78.3824     0.4136     1.0         0.0         1.0

List the signal change and entry/exit points for DDOG
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  40.19  38.82   34.226  33.3800     0.8460     1.0         1.0         0.0
2019-11-14  41.37  40.18   35.004  33.6108     1.3932     1.0         0.0         1.0
2019-12-11  35.55  34.81   37.421  37.7524    -0.3314     0.0        -1.0         0.0
2019-12-12  35.73  35.45   36.808  37.8592    -1.0512     0.0         0.0        -1.0
2020-01-06  39.90  37.51   37.640  37.4220     0.2180     1.0         1.0         0.0
2020-01-07  40.06  39.95   37.795  37.3936     0.4014     1.0         0.0         1.0
2020-02-28  45.15  43.80   45.730  45.8410    -0.1110     0.0        -1.0         0.0
2020-03-02  44.79  45.00   45.506  45.9506    -0.4446     0.0         0.0        -1.0
2020-04-09  36.95  37.00   35.573  35.0844     0.4886     1.0         1.0         0.0
2020-04-13  37.87  37.69   35.905  34.8544     1.0506     1.0         0.0         1.0

List the signal change and entry/exit points for DG
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-12-31  155.98  157.17  156.089  155.7116     0.3774     1.0         1.0         0.0
2020-01-02  156.54  156.95  156.225  155.5764     0.6486     1.0         0.0         1.0
2020-01-09  152.58  151.80  154.810  154.9500    -0.1400     0.0        -1.0         0.0
2020-01-10  153.22  153.17  154.601  154.9368    -0.3358     0.0         0.0        -1.0
2020-01-23  155.14  153.85  155.793  155.5620     0.2310     1.0         1.0         0.0
2020-01-24  154.34  154.92  155.969  155.5284     0.4406     1.0         0.0         1.0
2020-02-04  155.99  155.91  155.341  155.4104    -0.0694     0.0        -1.0         0.0
2020-02-05  157.26  156.60  155.617  155.4068     0.2102     1.0         1.0        -1.0
2020-02-06  155.47  157.76  155.650  155.3864     0.2636     1.0         0.0         1.0
2020-03-09  159.28  150.79  158.345  158.9184    -0.5734     0.0        -1.0         0.0
2020-03-10  166.25  162.63  158.820  159.3776    -0.5576     0.0         0.0        -1.0
2020-04-07  169.18  168.67  153.554  151.4676     2.0864     1.0         1.0         0.0
2020-04-08  169.22  169.74  156.753  151.8300     4.9230     1.0         0.0         1.0

List the signal change and entry/exit points for DHR
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-19  143.60  140.16  137.467  137.1488     0.3182     1.0         1.0         0.0
2019-11-20  142.96  143.07  138.277  137.3716     0.9054     1.0         0.0         1.0
2020-02-24  156.82  155.30  162.674  162.9892    -0.3152     0.0        -1.0         0.0
2020-02-25  151.65  157.73  161.540  162.5328    -0.9928     0.0         0.0        -1.0
2020-04-07  138.30  145.28  136.631  136.0736     0.5574     1.0         1.0         0.0
2020-04-08  145.13  141.83  138.212  135.6396     2.5724     1.0         0.0         1.0
2020-05-20  158.99  160.79  161.264  161.3272    -0.0632     0.0        -1.0         0.0
2020-05-21  157.66  158.17  160.682  161.4388    -0.7568     0.0         0.0        -1.0
2020-06-03  169.64  167.90  162.683  162.3692     0.3138     1.0         1.0         0.0
2020-06-04  168.79  169.00  163.663  162.5220     1.1410     1.0         0.0         1.0

List the signal change and entry/exit points for DOCU
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  67.82  66.69   66.782  66.2308     0.5512     1.0         1.0         0.0
2019-11-14  67.75  68.00   66.938  66.2552     0.6828     1.0         0.0         1.0
2020-01-21  73.13  72.35   74.086  74.1420    -0.0560     0.0        -1.0         0.0
2020-01-22  74.42  73.70   74.004  74.1700    -0.1660     0.0         0.0        -1.0
2020-01-31  78.51  78.83   75.083  74.7828     0.3002     1.0         1.0         0.0
2020-02-03  80.63  79.10   75.893  75.0304     0.8626     1.0         0.0         1.0
2020-03-09  77.63  77.18   84.973  85.6036    -0.6306     0.0        -1.0         0.0
2020-03-10  79.82  80.00   84.649  85.5712    -0.9222     0.0         0.0        -1.0
2020-03-31  92.40  88.08   82.883  81.5828     1.3002     1.0         1.0         0.0
2020-04-01  92.09  90.82   84.431  81.9232     2.5078     1.0         0.0         1.0

List the signal change and entry/exit points for DPZ
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  279.40  276.99  276.561  266.6224     9.9386     1.0         1.0         0.0
2019-11-14  278.66  278.69  277.265  267.5780     9.6870     1.0         0.0         1.0
2020-01-14  285.12  284.03  290.532  290.8024    -0.2704     0.0        -1.0         0.0
2020-01-15  288.57  284.97  290.011  290.8904    -0.8794     0.0         0.0        -1.0
2020-02-19  297.10  297.99  283.507  283.5028     0.0042     1.0         1.0         0.0
2020-02-20  373.16  362.03  293.022  287.0244     5.9976     1.0         0.0         1.0
2020-03-17  298.74  291.64  324.341  327.5388    -3.1978     0.0        -1.0         0.0
2020-03-18  290.00  296.54  319.152  328.1088    -8.9568     0.0         0.0        -1.0
2020-04-01  333.77  312.01  329.381  328.0612     1.3198     1.0         1.0         0.0
2020-04-02  333.45  330.22  330.412  327.4848     2.9272     1.0         0.0         1.0

List the signal change and entry/exit points for DXCM
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  202.90  204.22  178.426  163.4088    15.0172     1.0         1.0         0.0
2019-11-14  202.81  204.81  183.283  165.3428    17.9402     1.0         0.0         1.0
2019-12-17  217.33  213.24  216.520  217.4820    -0.9620     0.0        -1.0         0.0
2019-12-18  218.65  216.83  215.467  217.9824    -2.5154     0.0         0.0        -1.0
2020-01-07  231.45  225.01  219.667  218.5140     1.1530     1.0         1.0         0.0
2020-01-08  233.23  230.78  221.351  218.8864     2.4646     1.0         0.0         1.0
2020-03-13  244.02  256.32  270.579  272.7260    -2.1470     0.0        -1.0         0.0
2020-03-16  202.30  215.00  262.236  271.2092    -8.9732     0.0         0.0        -1.0
2020-04-03  260.75  263.62  252.822  249.6780     3.1440     1.0         1.0         0.0
2020-04-06  269.31  272.37  258.723  249.0212     9.7018     1.0         0.0         1.0
2020-06-03  365.86  374.00  380.645  384.0384    -3.3934     0.0        -1.0         0.0
2020-06-04  344.85  363.66  375.134  384.0136    -8.8796     0.0         0.0        -1.0

List the signal change and entry/exit points for EA
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13   96.00   96.62   97.100   96.0328     1.0672     1.0         1.0         0.0
2019-11-14   97.54   96.20   97.214   96.2332     0.9808     1.0         0.0         1.0
2020-02-06  110.00  108.80  109.649  109.9128    -0.2638     0.0        -1.0         0.0
2020-02-07  109.09  109.17  109.325  109.9828    -0.6578     0.0         0.0        -1.0
2020-04-07  106.32  107.13   99.755   98.5688     1.1862     1.0         1.0         0.0
2020-04-08  106.80  106.95  101.471   98.3676     3.1034     1.0         0.0         1.0

List the signal change and entry/exit points for EBAY
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-12-04  34.97  34.81  35.2510  35.2256     0.0254     1.0         1.0         0.0
2019-12-05  34.79  34.94  35.2440  35.1828     0.0612     1.0         0.0         1.0
2019-12-10  34.72  34.67  35.0680  35.1124    -0.0444     0.0        -1.0         0.0
2019-12-11  34.92  34.70  34.9850  35.0900    -0.1050     0.0         0.0        -1.0
2019-12-19  36.04  35.52  35.2835  35.2210     0.0625     1.0         1.0         0.0
2019-12-20  36.19  36.02  35.4165  35.2702     0.1463     1.0         0.0         1.0
2020-01-14  35.35  34.67  35.5515  35.6086    -0.0571     0.0        -1.0         0.0
2020-01-15  35.33  35.43  35.4735  35.6390    -0.1655     0.0         0.0        -1.0
2020-02-06  38.00  37.73  35.7175  35.6348     0.0827     1.0         1.0         0.0
2020-02-07  36.20  35.83  35.8015  35.6308     0.1707     1.0         0.0         1.0
2020-03-06  36.39  35.71  36.4870  36.7112    -0.2242     0.0        -1.0         0.0
2020-03-09  35.52  34.02  36.3130  36.7896    -0.4766     0.0         0.0        -1.0
2020-04-14  35.74  35.45  31.7580  31.3352     0.4228     1.0         1.0         0.0
2020-04-15  36.19  35.31  32.3710  31.3412     1.0298     1.0         0.0         1.0

List the signal change and entry/exit points for EBS
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  54.71  54.75   56.215  55.0604     1.1546     1.0         1.0         0.0
2019-11-14  54.35  55.00   55.934  55.1344     0.7996     1.0         0.0         1.0
2019-11-18  54.35  54.54   55.289  55.2992    -0.0102     0.0        -1.0         0.0
2019-11-19  54.11  54.61   54.886  55.2944    -0.4084     0.0         0.0        -1.0
2019-12-31  53.95  54.05   54.065  53.9180     0.1470     1.0         1.0         0.0
2020-01-02  54.00  54.27   54.197  53.8960     0.3010     1.0         0.0         1.0
2020-03-04  61.22  58.62   60.036  60.4208    -0.3848     0.0        -1.0         0.0
2020-03-05  60.83  57.57   59.661  60.6096    -0.9486     0.0         0.0        -1.0
2020-04-07  59.18  63.48   56.518  56.5176     0.0004     1.0         1.0         0.0
2020-04-08  61.93  60.22   57.239  56.5460     0.6930     1.0         0.0         1.0

List the signal change and entry/exit points for EQIX
             close     open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-25  553.85  559.610  553.062  552.8464     0.2156     1.0         1.0         0.0
2019-11-26  554.68  553.220  555.406  552.2364     3.1696     1.0         0.0         1.0
2020-03-06  608.67  599.590  617.922  620.6486    -2.7266     0.0        -1.0         0.0
2020-03-09  574.06  571.000  611.104  620.0218    -8.9178     0.0         0.0        -1.0
2020-04-03  624.69  626.310  588.654  588.2816     0.3724     1.0         1.0         0.0
2020-04-06  652.22  639.780  604.962  589.6152    15.3468     1.0         0.0         1.0
2020-05-12  663.65  668.505  676.707  677.0112    -0.3042     0.0        -1.0         0.0
2020-05-13  678.80  663.480  676.655  679.2184    -2.5634     0.0         0.0        -1.0
2020-06-02  696.69  718.330  675.142  674.4540     0.6880     1.0         1.0         0.0
2020-06-03  688.99  691.690  679.028  674.6632     4.3648     1.0         0.0         1.0

List the signal change and entry/exit points for ETSY
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-12-05  41.07  40.47  42.6245  42.4188     0.2057     1.0         1.0         0.0
2019-12-06  41.23  41.28  42.5995  42.2884     0.3111     1.0         0.0         1.0
2019-12-13  42.29  43.10  41.7160  41.8430    -0.1270     0.0        -1.0         0.0
2019-12-16  43.10  42.49  41.7140  41.8874    -0.1734     0.0         0.0        -1.0
2019-12-20  44.06  44.21  42.3460  42.2570     0.0890     1.0         1.0         0.0
2019-12-23  44.78  44.31  42.7080  42.3682     0.3398     1.0         0.0         1.0
2020-03-17  42.12  42.28  52.8760  53.4792    -0.6032     0.0        -1.0         0.0
2020-03-18  39.25  39.63  50.5550  53.0268    -2.4718     0.0         0.0        -1.0
2020-04-13  55.44  53.43  43.9780  43.2760     0.7020     1.0         1.0         0.0
2020-04-14  57.66  55.76  45.8770  43.2424     2.6346     1.0         0.0         1.0

List the signal change and entry/exit points for EVBG
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13   84.60   83.05   76.801   73.0372     3.7638     1.0         1.0         0.0
2019-11-14   83.82   84.75   78.232   73.6948     4.5372     1.0         0.0         1.0
2019-12-13   80.26   80.56   83.353   84.0048    -0.6518     0.0        -1.0         0.0
2019-12-16   78.71   81.08   82.661   84.0312    -1.3702     0.0         0.0        -1.0
2020-01-10   83.67   84.16   81.228   81.0656     0.1624     1.0         1.0         0.0
2020-01-13   84.96   83.82   81.803   81.0816     0.7214     1.0         0.0         1.0
2020-04-07   97.85  107.11  106.633  108.5236    -1.8906     0.0        -1.0         0.0
2020-04-08  100.69   98.85  105.635  108.1792    -2.5442     0.0         0.0        -1.0
2020-04-21  117.31  123.00  109.837  109.6176     0.2194     1.0         1.0         0.0
2020-04-22  122.05  118.50  112.257  109.8372     2.4198     1.0         0.0         1.0
2020-06-04  130.25  141.50  141.812  141.9456    -0.1336     0.0        -1.0         0.0
2020-06-05  123.89  130.30  139.780  142.4460    -2.6660     0.0         0.0        -1.0

List the signal change and entry/exit points for GILD
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-25  67.22  65.55   64.891  64.7744     0.1166     1.0         1.0         0.0
2019-11-26  67.28  66.68   65.187  64.8312     0.3558     1.0         0.0         1.0
2019-12-26  66.39  66.71   66.340  66.4748    -0.1348     0.0        -1.0         0.0
2019-12-27  65.95  66.38   66.172  66.5176    -0.3456     0.0         0.0        -1.0
2020-02-05  65.87  66.22   64.644  64.5604     0.0836     1.0         1.0         0.0
2020-02-06  68.21  67.29   65.071  64.6896     0.3814     1.0         0.0         1.0
2020-03-25  69.66  73.87   73.021  73.1264    -0.1054     0.0        -1.0         0.0
2020-03-26  73.86  69.90   73.549  73.4008     0.1482     1.0         1.0        -1.0
2020-03-27  72.85  73.71   73.759  73.5268     0.2322     1.0         0.0         1.0
2020-04-02  76.98  71.81   73.638  73.9196    -0.2816     0.0        -1.0         0.0
2020-04-03  78.21  77.41   74.133  74.2736    -0.1406     0.0         0.0        -1.0
2020-04-06  77.73  79.24   74.645  74.3668     0.2782     1.0         1.0         0.0
2020-04-07  74.67  77.30   74.716  74.3852     0.3308     1.0         0.0         1.0
2020-05-14  77.23  76.55   78.495  78.8352    -0.3402     0.0        -1.0         0.0
2020-05-15  76.26  76.47   78.126  78.9452    -0.8192     0.0         0.0        -1.0

List the signal change and entry/exit points for GIS
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-14  52.53  52.86   52.095  51.9804     0.1146     1.0         1.0         0.0
2019-11-15  52.56  52.51   52.233  51.9088     0.3242     1.0         0.0         1.0
2019-12-16  52.38  51.82   52.778  52.8196    -0.0416     0.0        -1.0         0.0
2019-12-17  52.17  52.21   52.630  52.8120    -0.1820     0.0         0.0        -1.0
2019-12-31  53.56  52.75   52.944  52.9408     0.0032     1.0         1.0         0.0
2020-01-02  52.13  53.63   52.940  52.9172     0.0228     1.0         0.0         1.0
2020-01-03  51.94  52.23   52.816  52.8628    -0.0468     0.0        -1.0         0.0
2020-01-06  52.59  52.08   52.755  52.8272    -0.0722     0.0         0.0        -1.0
2020-01-16  53.72  53.53   52.752  52.6524     0.0996     1.0         1.0         0.0
2020-01-17  53.85  53.91   52.943  52.7432     0.1998     1.0         0.0         1.0
2020-02-06  51.71  52.32   52.873  52.9916    -0.1186     0.0        -1.0         0.0
2020-02-07  51.90  51.77   52.692  52.9824    -0.2904     0.0         0.0        -1.0
2020-02-24  53.72  53.32   53.290  53.1976     0.0924     1.0         1.0         0.0
2020-02-25  52.53  53.68   53.307  53.1448     0.1622     1.0         0.0         1.0
2020-02-28  49.00  48.87   52.567  52.6936    -0.1266     0.0        -1.0         0.0
2020-03-02  51.41  49.21   52.377  52.6016    -0.2246     0.0         0.0        -1.0
2020-03-13  53.48  52.95   53.088  52.7796     0.3084     1.0         1.0         0.0
2020-03-16  53.38  49.40   53.285  52.8388     0.4462     1.0         0.0         1.0
2020-03-25  47.65  48.12   52.449  52.6988    -0.2498     0.0        -1.0         0.0
2020-03-26  50.00  47.81   52.449  52.5336    -0.0846     0.0         0.0        -1.0
2020-04-07  56.44  57.90   53.519  53.4548     0.0642     1.0         1.0         0.0
2020-04-08  55.73  56.09   54.327  53.5172     0.8098     1.0         0.0         1.0

List the signal change and entry/exit points for GOLD
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-29  16.80  16.77   16.742  16.7392     0.0028     1.0         1.0         0.0
2019-12-02  16.89  16.76   16.774  16.7268     0.0472     1.0         0.0         1.0
2020-01-17  17.95  18.13   17.908  17.9672    -0.0592     0.0        -1.0         0.0
2020-01-21  18.35  17.96   17.904  17.9988    -0.0948     0.0         0.0        -1.0
2020-01-28  18.00  18.40   18.190  18.1596     0.0304     1.0         1.0         0.0
2020-01-29  18.37  18.09   18.271  18.1964     0.0746     1.0         0.0         1.0
2020-03-12  16.88  16.97   19.793  19.8536    -0.0606     0.0        -1.0         0.0
2020-03-13  15.67  17.45   19.456  19.7464    -0.2904     0.0         0.0        -1.0
2020-04-02  19.85  19.10   18.657  18.6468     0.0102     1.0         1.0         0.0
2020-04-03  19.95  19.74   19.064  18.6832     0.3808     1.0         0.0         1.0
2020-05-26  24.73  25.90   26.720  26.7292    -0.0092     0.0        -1.0         0.0
2020-05-27  23.92  23.45   26.508  26.6932    -0.1852     0.0         0.0        -1.0

List the signal change and entry/exit points for GOOG
              close     open   fast_ma    slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  1298.00  1294.07  1292.527  1265.5940    26.9330     1.0         1.0         0.0
2019-11-14  1311.46  1297.50  1297.662  1269.7056    27.9564     1.0         0.0         1.0
2020-02-27  1318.09  1362.06  1460.633  1466.6916    -6.0586     0.0        -1.0         0.0
2020-02-28  1339.33  1277.50  1443.100  1460.7988   -17.6988     0.0         0.0        -1.0
2020-04-09  1211.45  1224.08  1153.984  1153.1244     0.8596     1.0         1.0         0.0
2020-04-13  1217.56  1209.18  1164.669  1149.8904    14.7786     1.0         0.0         1.0

List the signal change and entry/exit points for GSK
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  44.66  44.65   44.680  43.7524     0.9276     1.0         1.0         0.0
2019-11-14  43.85  43.80   44.485  43.8164     0.6686     1.0         0.0         1.0
2019-11-22  44.01  44.13   44.217  44.2556    -0.0386     0.0        -1.0         0.0
2019-11-25  44.48  44.49   44.239  44.3308    -0.0918     0.0         0.0        -1.0
2019-12-03  44.65  44.22   44.626  44.6224     0.0036     1.0         1.0         0.0
2019-12-04  45.07  44.51   44.683  44.6416     0.0414     1.0         0.0         1.0
2020-01-16  47.16  47.06   46.780  46.7868    -0.0068     0.0        -1.0         0.0
2020-01-17  47.89  48.15   46.921  46.8508     0.0702     1.0         1.0        -1.0
2020-01-21  47.50  47.66   47.021  46.9136     0.1074     1.0         0.0         1.0
2020-02-05  45.07  46.01   46.822  46.9244    -0.1024     0.0        -1.0         0.0
2020-02-06  44.14  44.07   46.454  46.8104    -0.3564     0.0         0.0        -1.0
2020-04-08  38.08  37.78   37.476  37.1508     0.3252     1.0         1.0         0.0
2020-04-09  38.88  39.17   37.639  37.0024     0.6366     1.0         0.0         1.0
2020-05-19  40.93  41.26   41.700  41.7688    -0.0688     0.0        -1.0         0.0
2020-05-20  41.31  41.87   41.592  41.8284    -0.2364     0.0         0.0        -1.0

List the signal change and entry/exit points for HD
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-12-26  220.82  220.74  217.948  217.4820     0.4660     1.0         1.0         0.0
2019-12-27  219.97  221.20  218.741  217.4448     1.2962     1.0         0.0         1.0
2020-03-02  229.94  219.98  236.481  236.6716    -0.1906     0.0        -1.0         0.0
2020-03-03  227.94  230.03  234.881  236.5416    -1.6606     0.0         0.0        -1.0
2020-04-09  201.53  199.80  189.197  187.8952     1.3018     1.0         1.0         0.0
2020-04-13  198.79  200.45  190.021  186.7064     3.3146     1.0         0.0         1.0

List the signal change and entry/exit points for HRL
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  42.15  41.83   41.620  41.1540     0.4660     1.0         1.0         0.0
2019-11-14  42.23  42.22   41.754  41.1764     0.5776     1.0         0.0         1.0
2019-12-31  45.11  44.96   45.000  45.0164    -0.0164     0.0        -1.0         0.0
2020-01-02  44.31  45.14   44.981  45.0784    -0.0974     0.0         0.0        -1.0
2020-01-17  46.30  46.10   45.176  45.0176     0.1584     1.0         1.0         0.0
2020-01-21  46.95  46.34   45.444  45.0816     0.3624     1.0         0.0         1.0
2020-02-25  44.72  44.70   46.856  47.0524    -0.1964     0.0        -1.0         0.0
2020-02-26  43.94  44.94   46.502  46.9320    -0.4300     0.0         0.0        -1.0
2020-03-24  44.85  42.49   44.368  44.2372     0.1308     1.0         1.0         0.0
2020-03-25  41.94  44.01   44.335  43.9772     0.3578     1.0         0.0         1.0
2020-05-01  46.60  46.65   47.652  47.7428    -0.0908     0.0        -1.0         0.0
2020-05-04  46.46  46.55   47.306  47.8028    -0.4968     0.0         0.0        -1.0
2020-05-21  46.01  47.89   47.697  47.5932     0.1038     1.0         1.0         0.0
2020-05-22  46.93  45.48   47.666  47.4500     0.2160     1.0         0.0         1.0

List the signal change and entry/exit points for JNJ
             close    open  fast_ma    slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  131.27  131.04  131.388  130.83936    0.54864     1.0         1.0         0.0
2019-11-14  130.96  131.03  131.280  130.91536    0.36464     1.0         0.0         1.0
2020-02-24  145.91  146.50  149.745  150.00760   -0.26260     0.0        -1.0         0.0
2020-02-25  144.65  145.99  149.024  149.82680   -0.80280     0.0         0.0        -1.0
2020-04-08  143.26  137.75  133.050  131.17840    1.87160     1.0         1.0         0.0
2020-04-09  141.23  144.01  134.516  131.14720    3.36880     1.0         0.0         1.0
2020-05-13  147.13  146.08  148.385  148.96480   -0.57980     0.0        -1.0         0.0
2020-05-14  147.64  145.39  148.145  149.14000   -0.99500     0.0         0.0        -1.0

List the signal change and entry/exit points for K
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  64.41  64.09   63.827  62.7888     1.0382     1.0         1.0         0.0
2019-11-14  64.05  64.54   63.879  62.8560     1.0230     1.0         0.0         1.0
2020-02-04  68.68  69.17   69.109  69.2368    -0.1278     0.0        -1.0         0.0
2020-02-05  69.36  68.82   69.019  69.2600    -0.2410     0.0         0.0        -1.0
2020-04-09  62.74  60.98   61.662  61.2556     0.4064     1.0         1.0         0.0
2020-04-13  62.80  62.44   61.995  61.2400     0.7550     1.0         0.0         1.0
2020-05-12  63.53  63.56   63.942  64.0240    -0.0820     0.0        -1.0         0.0
2020-05-13  64.17  63.57   63.869  64.0888    -0.2198     0.0         0.0        -1.0
2020-06-03  65.43  67.17   64.118  63.9468     0.1712     1.0         1.0         0.0
2020-06-04  64.71  65.22   64.341  63.9392     0.4018     1.0         0.0         1.0

List the signal change and entry/exit points for KR
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  27.06  27.05   26.400  25.2892     1.1108     1.0         1.0         0.0
2019-11-14  26.91  27.02   26.627  25.4120     1.2150     1.0         0.0         1.0
2020-01-15  28.29  28.76   28.552  28.5796    -0.0276     0.0        -1.0         0.0
2020-01-16  28.08  28.34   28.494  28.5880    -0.0940     0.0         0.0        -1.0
2020-02-18  29.71  29.80   28.332  28.1604     0.1716     1.0         1.0         0.0
2020-02-19  29.54  29.97   28.547  28.2052     0.3418     1.0         0.0         1.0
2020-04-01  30.50  30.30   30.352  30.7112    -0.3592     0.0        -1.0         0.0
2020-04-02  31.60  30.23   30.094  30.8408    -0.7468     0.0         0.0        -1.0
2020-04-13  31.33  31.20   31.206  31.1036     0.1024     1.0         1.0         0.0
2020-04-14  32.09  32.05   31.450  31.1372     0.3128     1.0         0.0         1.0
2020-05-26  31.37  32.07   32.512  32.5616    -0.0496     0.0        -1.0         0.0
2020-05-27  33.28  31.47   32.485  32.6060    -0.1210     0.0         0.0        -1.0

List the signal change and entry/exit points for LLY
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  112.79  112.87  112.970  110.7280     2.2420     1.0         1.0         0.0
2019-11-14  111.39  112.26  112.714  110.9068     1.8072     1.0         0.0         1.0
2020-02-25  135.41  138.94  141.012  141.7472    -0.7352     0.0        -1.0         0.0
2020-02-26  133.53  136.03  139.940  141.4520    -1.5120     0.0         0.0        -1.0
2020-03-17  143.20  133.21  137.689  137.5604     0.1286     1.0         1.0         0.0
2020-03-18  143.09  136.34  137.960  137.5140     0.4460     1.0         0.0         1.0
2020-03-20  122.40  132.16  135.348  136.3212    -0.9732     0.0        -1.0         0.0
2020-03-23  119.05  120.95  133.681  135.4384    -1.7574     0.0         0.0        -1.0
2020-04-06  141.61  142.27  135.032  135.0060     0.0260     1.0         1.0         0.0
2020-04-07  141.88  143.13  136.931  135.4688     1.4622     1.0         0.0         1.0
2020-05-20  153.13  155.27  156.608  156.7200    -0.1120     0.0        -1.0         0.0
2020-05-21  152.28  153.15  156.539  156.6220    -0.0830     0.0         0.0        -1.0

List the signal change and entry/exit points for LOGI
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  41.75  41.75   41.481  41.1548     0.3262     1.0         1.0         0.0
2019-11-14  41.37  41.29   41.543  41.1916     0.3514     1.0         0.0         1.0
2020-01-30  46.00  45.81   47.272  47.3020    -0.0300     0.0        -1.0         0.0
2020-01-31  44.63  45.37   47.039  47.2152    -0.1762     0.0         0.0        -1.0
2020-03-26  42.50  41.08   39.639  39.3860     0.2530     1.0         1.0         0.0
2020-03-27  41.12  41.35   40.066  39.3324     0.7336     1.0         0.0         1.0

List the signal change and entry/exit points for LVGO
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  26.71  25.45   23.939  21.8540     2.0850     1.0         1.0         0.0
2019-11-14  25.36  26.76   24.316  22.1140     2.2020     1.0         0.0         1.0
2019-12-13  25.90  27.13   27.011  27.1304    -0.1194     0.0        -1.0         0.0
2019-12-16  26.56  26.41   26.899  27.1828    -0.2838     0.0         0.0        -1.0
2020-01-14  30.82  28.82   26.488  26.2604     0.2276     1.0         1.0         0.0
2020-01-15  30.90  31.00   27.072  26.3992     0.6728     1.0         0.0         1.0
2020-02-03  23.96  23.96   26.157  26.5934    -0.4364     0.0        -1.0         0.0
2020-02-04  24.57  24.00   25.724  26.6066    -0.8826     0.0         0.0        -1.0
2020-02-21  27.82  28.25   26.852  26.5940     0.2580     1.0         1.0         0.0
2020-02-24  27.13  26.35   27.025  26.4906     0.5344     1.0         0.0         1.0
2020-03-09  24.54  24.99   26.062  26.2330    -0.1710     0.0        -1.0         0.0
2020-03-10  27.24  25.50   26.259  26.3642    -0.1052     0.0         0.0        -1.0
2020-04-03  29.05  27.75   25.351  24.9856     0.3654     1.0         1.0         0.0
2020-04-06  30.09  30.15   26.244  25.1212     1.1228     1.0         0.0         1.0

List the signal change and entry/exit points for MASI
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-19  153.22  151.07  146.070  145.6268     0.4432     1.0         1.0         0.0
2019-11-20  155.43  153.15  147.532  146.0044     1.5276     1.0         0.0         1.0
2020-03-02  178.06  165.80  174.199  175.1024    -0.9034     0.0        -1.0         0.0
2020-03-03  171.20  177.86  173.170  175.2416    -2.0716     0.0         0.0        -1.0
2020-03-13  186.78  179.42  179.476  177.7168     1.7592     1.0         1.0         0.0
2020-03-16  174.19  174.84  179.089  177.6704     1.4186     1.0         0.0         1.0
2020-03-19  164.39  159.40  175.723  175.9552    -0.2322     0.0        -1.0         0.0
2020-03-20  155.10  165.00  173.233  174.8008    -1.5678     0.0         0.0        -1.0
2020-04-06  185.13  184.00  175.456  173.8960     1.5600     1.0         1.0         0.0
2020-04-07  183.26  187.11  178.242  174.3784     3.8636     1.0         0.0         1.0
2020-06-04  218.61  225.37  234.036  236.5784    -2.5424     0.0        -1.0         0.0
2020-06-05  220.24  216.09  231.798  236.8316    -5.0336     0.0         0.0        -1.0

List the signal change and entry/exit points for MDLZ
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-22  51.80  52.31   52.436  52.3992     0.0368     1.0         1.0         0.0
2019-11-25  52.04  51.85   52.460  52.3380     0.1220     1.0         0.0         1.0
2020-01-14  54.19  54.63   54.299  54.3640    -0.0650     0.0        -1.0         0.0
2020-01-15  54.74  54.53   54.265  54.3868    -0.1218     0.0         0.0        -1.0
2020-01-22  55.46  55.74   54.736  54.6724     0.0636     1.0         1.0         0.0
2020-01-23  55.44  55.35   54.875  54.7416     0.1334     1.0         0.0         1.0
2020-03-02  55.60  52.63   57.123  57.4796    -0.3566     0.0        -1.0         0.0
2020-03-03  54.79  55.42   56.636  57.4836    -0.8476     0.0         0.0        -1.0
2020-04-08  51.79  52.02   50.347  49.5828     0.7642     1.0         1.0         0.0
2020-04-09  52.34  51.79   50.691  49.4020     1.2890     1.0         0.0         1.0
2020-05-01  50.70  51.14   51.537  51.5772    -0.0402     0.0        -1.0         0.0
2020-05-04  50.06  50.76   51.194  51.6640    -0.4700     0.0         0.0        -1.0
2020-06-01  52.25  52.03   50.531  50.5184     0.0126     1.0         1.0         0.0
2020-06-02  52.22  52.15   50.656  50.5480     0.1080     1.0         0.0         1.0

List the signal change and entry/exit points for MKC
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-18  165.47  162.47  161.464  161.1184     0.3456     1.0         1.0         0.0
2019-11-19  165.96  165.45  162.158  161.3168     0.8412     1.0         0.0         1.0
2019-12-23  167.25  169.09  168.190  168.6872    -0.4972     0.0        -1.0         0.0
2019-12-24  168.25  167.36  167.879  168.7984    -0.9194     0.0         0.0        -1.0
2020-01-08  167.38  169.27  169.444  169.4184     0.0256     1.0         1.0         0.0
2020-01-09  162.24  164.71  168.843  169.0744    -0.2314     0.0        -1.0         1.0
2020-01-10  164.23  161.72  168.304  168.7888    -0.4848     0.0         0.0        -1.0
2020-01-24  172.67  174.27  168.898  168.6776     0.2204     1.0         1.0         0.0
2020-01-27  172.71  172.33  169.746  168.8872     0.8588     1.0         0.0         1.0
2020-02-04  160.70  163.40  167.689  167.7944    -0.1054     0.0        -1.0         0.0
2020-02-05  162.01  161.65  166.637  167.4596    -0.8226     0.0         0.0        -1.0
2020-04-07  150.30  152.58  140.550  138.4376     2.1124     1.0         1.0         0.0
2020-04-08  149.10  149.68  143.041  138.2464     4.7946     1.0         0.0         1.0

List the signal change and entry/exit points for MKTX
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  374.36  365.49  358.145  352.7900     5.3550     1.0         1.0         0.0
2019-11-14  379.22  374.00  359.208  353.5952     5.6128     1.0         0.0         1.0
2019-12-13  373.89  367.76  380.489  384.0832    -3.5942     0.0        -1.0         0.0
2019-12-16  374.69  374.64  378.061  385.1848    -7.1238     0.0         0.0        -1.0
2020-03-06  362.36  368.91  348.271  346.2248     2.0462     1.0         1.0         0.0
2020-03-09  352.31  342.85  349.311  346.1500     3.1610     1.0         0.0         1.0
2020-03-18  305.36  300.00  339.046  341.0468    -2.0008     0.0        -1.0         0.0
2020-03-19  316.13  303.56  332.906  340.2720    -7.3660     0.0         0.0        -1.0
2020-04-06  399.03  394.18  350.407  341.1096     9.2974     1.0         1.0         0.0
2020-04-07  381.50  400.55  355.885  342.3064    13.5786     1.0         0.0         1.0

List the signal change and entry/exit points for MRNA
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  18.25  18.00  17.0860  16.1566     0.9294     1.0         1.0         0.0
2019-11-14  18.34  18.16  17.2450  16.3238     0.9212     1.0         0.0         1.0
2019-12-16  18.52  18.60  19.4020  19.4428    -0.0408     0.0        -1.0         0.0
2019-12-17  18.44  18.54  19.1180  19.4844    -0.3664     0.0         0.0        -1.0
2020-01-03  18.89  19.02  19.4800  19.4556     0.0244     1.0         1.0         0.0
2020-01-06  18.13  18.70  19.3520  19.3660    -0.0140     0.0        -1.0         1.0
2020-01-07  17.78  18.15  19.1470  19.2628    -0.1158     0.0         0.0        -1.0
2020-01-16  21.01  21.68  19.1830  19.1624     0.0206     1.0         1.0         0.0
2020-01-17  20.62  21.50  19.3560  19.2412     0.1148     1.0         0.0         1.0
2020-02-14  19.00  19.27  20.6475  20.8158    -0.1683     0.0        -1.0         0.0
2020-02-18  18.91  19.14  20.5005  20.8066    -0.3061     0.0         0.0        -1.0
2020-02-28  25.93  23.38  21.7200  21.3178     0.4022     1.0         1.0         0.0
2020-03-02  29.88  27.00  22.8080  21.6682     1.1398     1.0         0.0         1.0
2020-06-05  58.19  58.49  59.6650  60.9472    -1.2822     0.0        -1.0         0.0

List the signal change and entry/exit points for MRVL
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  28.11  27.78  26.7110  25.1540     1.5570     1.0         1.0         0.0
2019-11-14  26.99  27.68  26.9710  25.3020     1.6690     1.0         0.0         1.0
2019-12-02  25.81  26.44  26.3050  26.3308    -0.0258     0.0        -1.0         0.0
2019-12-03  25.16  24.94  26.2090  26.3312    -0.1222     0.0         0.0        -1.0
2019-12-23  26.50  26.08  25.5600  25.5548     0.0052     1.0         1.0         0.0
2019-12-24  26.55  26.60  25.8470  25.5720     0.2750     1.0         0.0         1.0
2020-01-31  24.04  24.79  26.5235  26.6578    -0.1343     0.0        -1.0         0.0
2020-02-03  24.21  24.31  26.0955  26.5492    -0.4537     0.0         0.0        -1.0
2020-04-01  21.64  21.80  21.2430  21.2296     0.0134     1.0         1.0         0.0
2020-04-02  22.65  21.29  21.6240  21.3136     0.3104     1.0         0.0         1.0

List the signal change and entry/exit points for MSFT
             close     open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  147.31  146.740  145.087  142.1050     2.9820     1.0         1.0         0.0
2019-11-14  148.06  147.020  145.556  142.4634     3.0926     1.0         0.0         1.0
2020-02-28  162.01  152.410  175.219  175.9800    -0.7610     0.0        -1.0         0.0
2020-03-02  172.79  165.310  173.963  176.2900    -2.3270     0.0         0.0        -1.0
2020-04-06  165.27  160.320  154.548  152.3948     2.1532     1.0         1.0         0.0
2020-04-07  163.49  169.592  156.063  152.3540     3.7090     1.0         0.0         1.0

List the signal change and entry/exit points for NET
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  16.26  16.00   16.502  16.0692     0.4328     1.0         1.0         0.0
2019-11-14  16.67  16.12   16.485  16.0828     0.4022     1.0         0.0         1.0
2019-12-18  17.39  17.55   17.774  17.8180    -0.0440     0.0        -1.0         0.0
2019-12-19  18.00  17.40   17.801  17.8876    -0.0866     0.0         0.0        -1.0
2020-01-14  18.70  18.52   17.596  17.5752     0.0208     1.0         1.0         0.0
2020-01-15  18.85  18.70   17.775  17.6208     0.1542     1.0         0.0         1.0
2020-02-06  17.77  18.00   17.883  17.9344    -0.0514     0.0        -1.0         0.0
2020-02-07  18.17  17.88   17.923  17.9800    -0.0570     0.0         0.0        -1.0
2020-02-20  20.30  18.15   18.210  18.1516     0.0584     1.0         1.0         0.0
2020-02-21  21.02  20.30   18.535  18.2384     0.2966     1.0         0.0         1.0
2020-03-18  19.70  17.76   20.109  20.1548    -0.0458     0.0        -1.0         0.0
2020-03-19  20.69  19.80   19.843  20.2696    -0.4266     0.0         0.0        -1.0
2020-03-30  23.89  22.10   21.373  21.1572     0.2158     1.0         1.0         0.0
2020-03-31  23.48  24.16   21.852  21.2848     0.5672     1.0         0.0         1.0

List the signal change and entry/exit points for NFLX
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  283.11  291.03  289.414  284.0444     5.3696     1.0         1.0         0.0
2019-11-14  289.62  283.25  289.635  284.4100     5.2250     1.0         0.0         1.0
2019-12-13  298.50  298.50  302.217  302.3528    -0.1358     0.0        -1.0         0.0
2019-12-16  304.21  300.85  301.639  302.8584    -1.2194     0.0         0.0        -1.0
2019-12-19  332.22  324.50  307.155  306.8264     0.3286     1.0         1.0         0.0
2019-12-20  336.90  335.00  310.110  308.7176     1.3924     1.0         0.0         1.0
2020-03-06  368.97  367.70  372.413  373.0492    -0.6362     0.0        -1.0         0.0
2020-03-09  346.49  343.86  370.192  373.1052    -2.9132     0.0         0.0        -1.0
2020-04-01  364.08  376.05  355.549  352.7094     2.8396     1.0         1.0         0.0
2020-04-02  370.08  364.08  359.354  352.6442     6.7098     1.0         0.0         1.0
2020-06-02  427.31  425.87  428.534  430.1872    -1.6532     0.0        -1.0         0.0
2020-06-03  421.97  426.95  425.627  430.9128    -5.2858     0.0         0.0        -1.0

List the signal change and entry/exit points for NVDA
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  208.57  208.35  207.383  200.2224     7.1606     1.0         1.0         0.0
2019-11-14  209.79  208.93  208.260  201.2928     6.9672     1.0         0.0         1.0
2020-03-06  266.04  265.36  269.181  270.0122    -0.8312     0.0        -1.0         0.0
2020-03-09  245.44  239.90  266.397  270.3726    -3.9756     0.0         0.0        -1.0
2020-04-02  255.47  244.24  245.094  245.0708     0.0232     1.0         1.0         0.0
2020-04-03  243.91  253.96  248.910  244.0244     4.8856     1.0         0.0         1.0

List the signal change and entry/exit points for OKTA
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  116.70  114.31  109.838  108.6008     1.2372     1.0         1.0         0.0
2019-11-14  115.96  116.71  110.527  108.6564     1.8706     1.0         0.0         1.0
2019-12-13  116.69  113.88  119.428  121.1740    -1.7460     0.0        -1.0         0.0
2019-12-16  116.23  116.99  118.856  121.4368    -2.5808     0.0         0.0        -1.0
2020-01-07  122.89  123.90  118.902  118.4400     0.4620     1.0         1.0         0.0
2020-01-08  125.55  123.31  119.648  118.5840     1.0640     1.0         0.0         1.0
2020-02-28  128.06  118.69  131.605  131.6628    -0.0578     0.0        -1.0         0.0
2020-03-02  133.43  130.05  131.245  131.8136    -0.5686     0.0         0.0        -1.0
2020-04-01  119.57  116.50  120.066  118.9244     1.1416     1.0         1.0         0.0
2020-04-02  115.99  119.43  120.270  118.6108     1.6592     1.0         0.0         1.0

List the signal change and entry/exit points for PANW
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  243.23  240.66  235.237  224.2664    10.9706     1.0         1.0         0.0
2019-11-14  245.51  240.64  237.049  225.7148    11.3342     1.0         0.0         1.0
2019-12-03  227.01  223.33  236.152  236.2624    -0.1104     0.0        -1.0         0.0
2019-12-04  225.62  227.04  233.896  236.3036    -2.4076     0.0         0.0        -1.0
2019-12-27  233.27  234.83  230.581  230.2868     0.2942     1.0         1.0         0.0
2019-12-30  231.43  232.59  231.025  229.6744     1.3506     1.0         0.0         1.0
2020-02-05  241.66  242.51  239.292  239.5492    -0.2572     0.0        -1.0         0.0
2020-02-06  246.07  242.57  239.409  240.1420    -0.7330     0.0         0.0        -1.0
2020-02-11  246.83  249.00  241.439  241.2488     0.1902     1.0         1.0         0.0
2020-02-12  244.72  247.39  242.156  241.3720     0.7840     1.0         0.0         1.0
2020-02-25  196.96  202.00  240.877  241.1224    -0.2454     0.0        -1.0         0.0
2020-02-26  189.58  197.08  235.152  238.9764    -3.8244     0.0         0.0        -1.0
2020-04-03  162.66  163.29  162.592  160.4084     2.1836     1.0         1.0         0.0
2020-04-06  171.34  169.36  165.110  159.6904     5.4196     1.0         0.0         1.0

List the signal change and entry/exit points for PEP
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-12-02  135.88  136.65  134.750  134.6404     0.1096     1.0         1.0         0.0
2019-12-03  135.46  136.66  134.890  134.5960     0.2940     1.0         0.0         1.0
2020-01-07  134.01  136.00  136.325  136.5932    -0.2682     0.0        -1.0         0.0
2020-01-08  134.70  134.46  136.091  136.5460    -0.4550     0.0         0.0        -1.0
2020-01-21  141.86  140.61  137.334  136.9644     0.3696     1.0         1.0         0.0
2020-01-22  143.38  141.81  138.271  137.1820     1.0890     1.0         0.0         1.0
2020-02-28  132.03  133.24  142.325  143.2938    -0.9688     0.0        -1.0         0.0
2020-03-02  137.58  132.00  141.384  143.0804    -1.6964     0.0         0.0        -1.0
2020-04-08  132.61  129.64  124.712  122.9536     1.7584     1.0         1.0         0.0
2020-04-09  133.63  132.09  126.049  122.7748     3.2742     1.0         0.0         1.0
2020-05-08  134.23  133.07  132.572  132.7372    -0.1652     0.0        -1.0         0.0
2020-05-11  134.38  133.43  132.564  133.1288    -0.5648     0.0         0.0        -1.0
2020-05-20  131.26  132.54  133.360  133.1784     0.1816     1.0         1.0         0.0
2020-05-21  130.21  130.98  133.226  132.9612     0.2648     1.0         0.0         1.0
2020-05-26  129.75  131.94  132.388  132.4864    -0.0984     0.0        -1.0         0.0
2020-05-27  130.81  129.72  132.175  132.4812    -0.3062     0.0         0.0        -1.0

List the signal change and entry/exit points for PFE
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  36.60  36.95   37.434  37.0036     0.4304     1.0         1.0         0.0
2019-11-14  36.55  36.56   37.252  37.0340     0.2180     1.0         0.0         1.0
2019-11-18  37.22  37.39   37.060  37.1176    -0.0576     0.0        -1.0         0.0
2019-11-19  37.66  37.43   37.078  37.1640    -0.0860     0.0         0.0        -1.0
2019-11-25  38.68  38.48   37.408  37.4072     0.0008     1.0         1.0         0.0
2019-11-26  38.29  38.55   37.540  37.4816     0.0584     1.0         0.0         1.0
2020-01-31  37.24  36.94   39.176  39.2980    -0.1220     0.0        -1.0         0.0
2020-02-03  37.51  37.46   38.876  39.2232    -0.3472     0.0         0.0        -1.0
2020-04-07  33.61  35.00   32.415  32.2640     0.1510     1.0         1.0         0.0
2020-04-08  34.60  33.99   32.900  32.1920     0.7080     1.0         0.0         1.0
2020-05-27  37.41  37.41   37.577  37.6292    -0.0522     0.0        -1.0         0.0
2020-05-28  38.18  37.84   37.690  37.7064    -0.0164     0.0         0.0        -1.0

List the signal change and entry/exit points for PG
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-12-02  122.72  121.94  121.554  121.3536     0.2004     1.0         1.0         0.0
2019-12-03  122.95  122.31  121.660  121.3324     0.3276     1.0         0.0         1.0
2020-01-07  121.99  122.88  124.153  124.3816    -0.2286     0.0        -1.0         0.0
2020-01-08  122.51  122.19  123.914  124.3732    -0.4592     0.0         0.0        -1.0
2020-01-22  126.31  126.33  125.074  124.6972     0.3768     1.0         1.0         0.0
2020-01-23  124.99  124.30  125.322  124.6744     0.6476     1.0         0.0         1.0
2020-02-19  125.44  124.85  125.522  125.5600    -0.0380     0.0        -1.0         0.0
2020-02-20  126.58  125.47  125.499  125.6356    -0.1366     0.0         0.0        -1.0
2020-04-08  115.10  114.39  112.704  111.7512     0.9528     1.0         1.0         0.0
2020-04-09  114.66  115.26  113.432  111.4724     1.9596     1.0         0.0         1.0
2020-05-06  113.10  115.54  116.917  117.2928    -0.3758     0.0        -1.0         0.0
2020-05-07  112.17  114.06  116.194  117.4064    -1.2124     0.0         0.0        -1.0
2020-06-04  116.05  118.00  115.201  114.9532     0.2478     1.0         1.0         0.0
2020-06-05  118.33  116.25  115.872  114.9716     0.9004     1.0         0.0         1.0

List the signal change and entry/exit points for PLD
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-21  90.85  90.94   89.049  88.8108     0.2382     1.0         1.0         0.0
2019-11-22  90.56  90.94   89.398  88.8488     0.5492     1.0         0.0         1.0
2019-12-17  87.31  88.58   89.933  90.1548    -0.2218     0.0        -1.0         0.0
2019-12-18  87.55  87.05   89.578  90.1916    -0.6136     0.0         0.0        -1.0
2020-01-13  91.80  89.54   89.245  88.9904     0.2546     1.0         1.0         0.0
2020-01-14  90.63  91.55   89.422  88.9584     0.4636     1.0         0.0         1.0
2020-02-28  84.28  84.42   94.178  94.4992    -0.3212     0.0        -1.0         0.0
2020-03-02  88.27  84.70   93.250  94.1840    -0.9340     0.0         0.0        -1.0
2020-04-06  80.23  78.03   76.544  75.9232     0.6208     1.0         1.0         0.0
2020-04-07  80.95  86.32   77.584  75.5856     1.9984     1.0         0.0         1.0
2020-05-12  84.22  89.09   87.919  88.0464    -0.1274     0.0        -1.0         0.0
2020-05-13  82.84  83.56   87.187  88.1220    -0.9350     0.0         0.0        -1.0
2020-05-29  91.50  92.14   88.219  87.9508     0.2682     1.0         1.0         0.0
2020-06-01  93.70  91.96   89.261  88.1372     1.1238     1.0         0.0         1.0

List the signal change and entry/exit points for PRGO
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-12-06  52.29  52.10   50.681  50.3168     0.3642     1.0         1.0         0.0
2019-12-09  52.99  52.01   51.079  50.2524     0.8266     1.0         0.0         1.0
2020-01-03  49.96  50.51   52.545  52.5644    -0.0194     0.0        -1.0         0.0
2020-01-06  49.28  49.59   52.027  52.4992    -0.4722     0.0         0.0        -1.0
2020-01-17  59.02  59.86   53.266  53.1584     0.1076     1.0         1.0         0.0
2020-01-21  59.83  58.77   54.321  53.3704     0.9506     1.0         0.0         1.0
2020-02-27  51.82  55.33   58.579  58.8700    -0.2910     0.0        -1.0         0.0
2020-02-28  50.69  50.07   57.852  58.5184    -0.6664     0.0         0.0        -1.0
2020-04-09  50.45  50.20   46.922  46.3492     0.5728     1.0         1.0         0.0
2020-04-13  50.37  50.56   47.349  46.2372     1.1118     1.0         0.0         1.0

List the signal change and entry/exit points for PTON
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  25.98  24.46   24.009  23.1018     0.9072     1.0         1.0         0.0
2019-11-14  25.93  26.20   24.215  23.2134     1.0016     1.0         0.0         1.0
2019-12-23  29.22  30.15   31.449  31.7380    -0.2890     0.0        -1.0         0.0
2019-12-24  28.75  29.07   31.046  31.6780    -0.6320     0.0         0.0        -1.0
2020-01-21  32.00  31.69   29.954  29.8920     0.0620     1.0         1.0         0.0
2020-01-22  30.68  32.32   29.982  29.8580     0.1240     1.0         0.0         1.0
2020-02-13  28.85  28.20   30.320  30.4128    -0.0928     0.0        -1.0         0.0
2020-02-14  27.66  28.89   29.850  30.4044    -0.5544     0.0         0.0        -1.0
2020-03-30  27.70  26.80   25.110  25.0562     0.0538     1.0         1.0         0.0
2020-03-31  26.55  27.89   25.220  25.0338     0.1862     1.0         0.0         1.0

List the signal change and entry/exit points for PYPL
              close    open   fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-20  104.090  105.22  102.9340  102.9336     0.0004     1.0         1.0         0.0
2019-11-21  102.550  103.00  103.1420  102.8904     0.2516     1.0         0.0         1.0
2020-02-27  107.840  106.30  117.4650  117.6596    -0.1946     0.0        -1.0         0.0
2020-02-28  107.990  104.26  116.2130  117.2636    -1.0506     0.0         0.0        -1.0
2020-04-13  105.980  104.85   98.8890   97.8424     1.0466     1.0         1.0         0.0
2020-04-14  109.785  109.00  100.1645   98.1686     1.9959     1.0         0.0         1.0

List the signal change and entry/exit points for REGN
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  348.30  346.33  329.406  313.9972    15.4088     1.0         1.0         0.0
2019-11-14  338.39  349.80  332.617  315.5984    17.0186     1.0         0.0         1.0
2020-01-24  345.28  359.91  373.495  374.2328    -0.7378     0.0        -1.0         0.0
2020-01-27  339.42  341.20  369.296  372.9552    -3.6592     0.0         0.0        -1.0
2020-02-12  406.30  398.13  370.438  369.1188     1.3192     1.0         1.0         0.0
2020-02-13  398.81  406.44  376.701  369.7744     6.9266     1.0         0.0         1.0
2020-03-27  449.52  446.03  458.256  459.9348    -1.6788     0.0        -1.0         0.0
2020-03-30  473.00  463.09  461.473  461.8396    -0.3666     0.0         0.0        -1.0
2020-04-06  504.27  503.38  473.541  471.4428     2.0982     1.0         1.0         0.0
2020-04-07  501.51  502.81  478.739  473.0412     5.6978     1.0         0.0         1.0

List the signal change and entry/exit points for RMD
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  145.28  143.82  144.981  138.3496     6.6314     1.0         1.0         0.0
2019-11-14  145.42  145.46  144.731  138.9476     5.7834     1.0         0.0         1.0
2020-03-03  165.24  168.68  168.373  168.9424    -0.5694     0.0        -1.0         0.0
2020-03-04  174.82  168.30  168.193  169.4032    -1.2102     0.0         0.0        -1.0
2020-04-08  155.16  155.01  150.250  147.5472     2.7028     1.0         1.0         0.0
2020-04-09  159.82  150.49  151.580  147.1100     4.4700     1.0         0.0         1.0
2020-05-08  162.75  161.91  158.926  159.1592    -0.2332     0.0        -1.0         0.0
2020-05-11  169.28  160.96  159.577  159.8116    -0.2346     0.0         0.0        -1.0
2020-05-12  167.15  170.50  160.470  160.1656     0.3044     1.0         1.0         0.0
2020-05-13  164.37  166.26  161.276  160.5932     0.6828     1.0         0.0         1.0
2020-06-01  161.12  160.13  160.848  161.0248    -0.1768     0.0        -1.0         0.0
2020-06-02  159.76  161.00  160.107  160.9044    -0.7974     0.0         0.0        -1.0

List the signal change and entry/exit points for RNG
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  168.02  167.85  166.023  164.8996     1.1234     1.0         1.0         0.0
2019-11-14  169.82  167.55  166.853  164.7144     2.1386     1.0         0.0         1.0
2019-12-09  165.82  167.75  168.134  168.4412    -0.3072     0.0        -1.0         0.0
2019-12-10  165.56  167.00  167.657  168.7576    -1.1006     0.0         0.0        -1.0
2019-12-27  168.97  169.50  167.414  167.3116     0.1024     1.0         1.0         0.0
2019-12-30  166.78  168.64  167.717  167.1928     0.5242     1.0         0.0         1.0
2020-03-10  213.87  211.66  227.055  228.0904    -1.0354     0.0        -1.0         0.0
2020-03-11  199.34  209.05  223.496  227.6980    -4.2020     0.0         0.0        -1.0
2020-04-01  210.67  204.34  206.250  204.7480     1.5020     1.0         1.0         0.0
2020-04-02  220.03  210.67  209.830  204.1200     5.7100     1.0         0.0         1.0

List the signal change and entry/exit points for SHOP
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-21  316.07  317.50  311.804  310.4324     1.3716     1.0         1.0         0.0
2019-11-22  314.52  318.76  313.492  310.4396     3.0524     1.0         0.0         1.0
2020-03-03  476.94  501.48  489.507  491.0124    -1.5054     0.0        -1.0         0.0
2020-03-04  512.23  489.00  486.409  492.7952    -6.3862     0.0         0.0        -1.0
2020-04-06  392.65  380.00  407.421  406.4592     0.9618     1.0         1.0         0.0
2020-04-07  378.54  408.99  402.275  402.5232    -0.2482     0.0        -1.0         1.0
2020-04-08  414.51  383.00  399.066  398.6144     0.4516     1.0         1.0        -1.0
2020-04-09  417.74  422.51  396.099  395.3952     0.7038     1.0         0.0         1.0

List the signal change and entry/exit points for SJM
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-12-04  106.27  105.54  106.036  105.9344     0.1016     1.0         1.0         0.0
2019-12-05  106.75  106.35  106.166  105.9508     0.2152     1.0         0.0         1.0
2019-12-13  101.51  102.64  105.322  105.4396    -0.1176     0.0        -1.0         0.0
2019-12-16  102.64  101.94  105.016  105.2944    -0.2784     0.0         0.0        -1.0
2020-01-15  104.55  104.61  103.587  103.4660     0.1210     1.0         1.0         0.0
2020-01-16  104.99  104.75  103.872  103.4232     0.4488     1.0         0.0         1.0
2020-03-06  109.99  108.35  108.128  108.2328    -0.1048     0.0        -1.0         0.0
2020-03-09  108.32  104.41  107.978  108.4212    -0.4432     0.0         0.0        -1.0
2020-03-18  118.86  114.94  109.187  108.8412     0.3458     1.0         1.0         0.0
2020-03-19  109.02  119.00  109.014  108.8232     0.1908     1.0         0.0         1.0
2020-03-20  104.17  107.15  108.432  108.6812    -0.2492     0.0        -1.0         0.0
2020-03-23   95.79  103.66  107.179  108.1128    -0.9338     0.0         0.0        -1.0
2020-03-30  110.63  104.30  107.300  107.1848     0.1152     1.0         1.0         0.0
2020-03-31  111.00  110.58  106.689  107.3148    -0.6258     0.0        -1.0         1.0
2020-04-01  109.60  108.69  105.763  107.3316    -1.5686     0.0         0.0        -1.0
2020-04-06  115.19  114.00  108.643  108.2092     0.4338     1.0         1.0         0.0
2020-04-07  113.88  115.21  109.458  108.5144     0.9436     1.0         0.0         1.0
2020-05-08  116.08  115.07  115.887  116.0284    -0.1414     0.0        -1.0         0.0
2020-05-11  116.90  116.20  115.492  116.2112    -0.7192     0.0         0.0        -1.0

List the signal change and entry/exit points for SNY
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-22  46.52  46.53   46.123  46.0912     0.0318     1.0         1.0         0.0
2019-11-25  46.90  46.73   46.227  46.1296     0.0974     1.0         0.0         1.0
2020-01-24  48.73  49.54   50.563  50.5928    -0.0298     0.0        -1.0         0.0
2020-01-27  47.77  47.98   50.178  50.4888    -0.3108     0.0         0.0        -1.0
2020-02-13  50.00  49.93   50.037  50.0248     0.0122     1.0         1.0         0.0
2020-02-14  49.93  50.04   50.203  49.9756     0.2274     1.0         0.0         1.0
2020-03-02  48.74  47.43   49.490  49.5464    -0.0564     0.0        -1.0         0.0
2020-03-03  47.71  48.49   49.147  49.5440    -0.3970     0.0         0.0        -1.0
2020-04-07  44.60  45.73   43.714  43.6396     0.0744     1.0         1.0         0.0
2020-04-08  45.18  44.63   44.095  43.4252     0.6698     1.0         0.0         1.0
2020-05-19  47.20  47.63   48.034  48.1308    -0.0968     0.0        -1.0         0.0
2020-05-20  47.74  48.01   47.873  48.2344    -0.3614     0.0         0.0        -1.0
2020-06-03  49.58  49.58   48.399  48.1776     0.2214     1.0         1.0         0.0
2020-06-04  49.95  49.67   48.620  48.2156     0.4044     1.0         0.0         1.0

List the signal change and entry/exit points for SPGI
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  258.62  255.07  255.742  252.8248     2.9172     1.0         1.0         0.0
2019-11-14  260.00  258.23  255.943  253.1860     2.7570     1.0         0.0         1.0
2020-02-27  267.15  276.85  294.634  295.7416    -1.1076     0.0        -1.0         0.0
2020-02-28  265.91  260.22  291.090  294.4904    -3.4004     0.0         0.0        -1.0
2020-04-06  255.83  248.23  239.289  239.2676     0.0214     1.0         1.0         0.0
2020-04-07  256.06  264.86  243.029  238.3044     4.7246     1.0         0.0         1.0

List the signal change and entry/exit points for SPLK
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  124.72  124.87  123.305  119.3940     3.9110     1.0         1.0         0.0
2019-11-14  116.99  120.99  123.008  119.3476     3.6604     1.0         0.0         1.0
2020-03-02  152.02  151.05  160.593  162.0002    -1.4072     0.0        -1.0         0.0
2020-03-03  148.50  152.12  158.155  161.7966    -3.6416     0.0         0.0        -1.0
2020-04-08  125.05  121.28  118.813  118.1860     0.6270     1.0         1.0         0.0
2020-04-09  123.13  125.99  118.212  117.4612     0.7508     1.0         0.0         1.0

List the signal change and entry/exit points for SPOT
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  146.78  145.49  148.004  132.1172    15.8868     1.0         1.0         0.0
2019-11-14  148.76  147.40  148.450  133.5668    14.8832     1.0         0.0         1.0
2019-11-27  142.93  143.08  142.011  142.2524    -0.2414     0.0        -1.0         0.0
2019-11-29  142.55  142.00  141.390  143.2012    -1.8112     0.0         0.0        -1.0
2019-12-10  145.97  145.86  144.772  144.6296     0.1424     1.0         1.0         0.0
2019-12-11  147.13  144.96  145.102  144.5000     0.6020     1.0         0.0         1.0
2020-01-23  148.97  148.00  151.272  151.9216    -0.6496     0.0        -1.0         0.0
2020-01-24  146.63  149.35  150.161  151.7256    -1.5646     0.0         0.0        -1.0
2020-02-14  141.00  142.72  148.041  147.8496     0.1914     1.0         1.0         0.0
2020-02-18  144.63  141.50  147.854  147.3932     0.4608     1.0         0.0         1.0
2020-02-19  143.36  145.57  146.759  147.0928    -0.3338     0.0        -1.0         0.0
2020-02-20  147.86  143.35  146.845  147.0312    -0.1862     0.0         0.0        -1.0
2020-04-14  135.93  132.05  126.087  126.0200     0.0670     1.0         1.0         0.0
2020-04-15  138.78  134.17  127.821  125.8952     1.9258     1.0         0.0         1.0

List the signal change and entry/exit points for SQ
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  61.51  61.30   62.251  61.9748     0.2762     1.0         1.0         0.0
2019-11-14  62.99  61.65   62.407  62.0132     0.3938     1.0         0.0         1.0
2019-12-18  65.14  65.91   66.165  66.5184    -0.3534     0.0        -1.0         0.0
2019-12-19  64.55  64.90   65.906  66.6400    -0.7340     0.0         0.0        -1.0
2020-01-14  68.17  68.99   65.690  65.1200     0.5700     1.0         1.0         0.0
2020-01-15  70.36  68.54   66.470  65.2520     1.2180     1.0         0.0         1.0
2020-03-05  76.32  77.78   79.507  79.9376    -0.4306     0.0        -1.0         0.0
2020-03-06  73.09  75.03   78.467  79.8172    -1.3502     0.0         0.0        -1.0
2020-04-13  59.42  60.10   52.019  51.1444     0.8746     1.0         1.0         0.0
2020-04-14  62.41  60.02   52.760  51.0116     1.7484     1.0         0.0         1.0

List the signal change and entry/exit points for TDOC
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13   79.71   80.03   79.765   73.3592     6.4058     1.0         1.0         0.0
2019-11-14   78.89   80.06   79.994   73.7944     6.1996     1.0         0.0         1.0
2019-12-11   77.48   78.17   80.029   80.1528    -0.1238     0.0        -1.0         0.0
2019-12-12   77.05   77.22   79.146   80.0348    -0.8888     0.0         0.0        -1.0
2019-12-26   82.52   82.93   80.375   80.3732     0.0018     1.0         1.0         0.0
2019-12-27   83.35   83.00   81.005   80.6092     0.3958     1.0         0.0         1.0
2020-05-26  164.47  173.25  176.888  177.9716    -1.0836     0.0        -1.0         0.0
2020-05-27  162.64  158.42  174.737  177.5816    -2.8446     0.0         0.0        -1.0

List the signal change and entry/exit points for TGT
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-18  111.96  113.83  110.497  110.4756     0.0214     1.0         1.0         0.0
2019-11-19  110.85  110.41  110.576  110.4340     0.1420     1.0         0.0         1.0
2020-01-08  123.40  124.05  126.536  126.6000    -0.0640     0.0        -1.0         0.0
2020-01-09  123.50  123.50  126.031  126.5784    -0.5474     0.0         0.0        -1.0
2020-02-18  117.83  116.95  116.405  116.1848     0.2202     1.0         1.0         0.0
2020-02-19  117.39  117.69  116.819  115.9256     0.8934     1.0         0.0         1.0
2020-02-27  105.62  108.38  114.718  114.8700    -0.1520     0.0        -1.0         0.0
2020-02-28  103.00  102.21  113.190  114.3688    -1.1788     0.0         0.0        -1.0
2020-04-14  108.38  108.49   99.283   98.9452     0.3378     1.0         1.0         0.0
2020-04-15  106.24  108.76  100.610   98.8616     1.7484     1.0         0.0         1.0

List the signal change and entry/exit points for TMO
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  300.02  294.81  297.126  292.0276     5.0984     1.0         1.0         0.0
2019-11-14  300.84  300.15  297.012  292.8348     4.1772     1.0         0.0         1.0
2020-02-04  325.96  321.84  328.457  329.3936    -0.9366     0.0        -1.0         0.0
2020-02-05  332.49  330.26  327.701  329.6916    -1.9906     0.0         0.0        -1.0
2020-02-18  337.37  338.13  333.510  332.2768     1.2332     1.0         1.0         0.0
2020-02-19  339.74  338.09  334.888  332.5856     2.3024     1.0         0.0         1.0
2020-02-27  297.08  304.00  326.191  328.1368    -1.9458     0.0        -1.0         0.0
2020-02-28  290.80  288.61  321.712  326.3536    -4.6416     0.0         0.0        -1.0
2020-04-09  317.38  307.55  291.297  289.2408     2.0562     1.0         1.0         0.0
2020-04-13  315.32  314.38  295.395  289.4068     5.9882     1.0         0.0         1.0

List the signal change and entry/exit points for TTD
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  228.85  222.58  205.873  202.3012     3.5718     1.0         1.0         0.0
2019-11-14  228.08  228.00  208.601  203.9984     4.6026     1.0         0.0         1.0
2020-03-02  288.11  295.51  288.621  288.9984    -0.3774     0.0        -1.0         0.0
2020-03-03  277.67  286.35  285.544  289.1760    -3.6320     0.0         0.0        -1.0
2020-04-13  218.62  215.35  190.910  190.6640     0.2460     1.0         1.0         0.0
2020-04-14  233.41  231.87  194.500  191.3388     3.1612     1.0         0.0         1.0

List the signal change and entry/exit points for TTWO
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-21  122.54  123.07  121.473  121.0876     0.3854     1.0         1.0         0.0
2019-11-22  119.48  122.20  121.725  120.9576     0.7674     1.0         0.0         1.0
2020-02-05  120.76  122.45  125.341  126.1228    -0.7818     0.0        -1.0         0.0
2020-02-06  127.74  121.05  125.208  126.3352    -1.1272     0.0         0.0        -1.0
2020-03-11  119.05  116.44  114.466  114.4160     0.0500     1.0         1.0         0.0
2020-03-12  108.36  112.00  114.518  113.9200     0.5980     1.0         0.0         1.0
2020-03-20  100.15  108.52  111.427  112.4908    -1.0638     0.0        -1.0         0.0
2020-03-23  109.82  102.22  111.021  112.3464    -1.3254     0.0         0.0        -1.0
2020-04-03  118.49  119.34  115.016  113.6836     1.3324     1.0         1.0         0.0
2020-04-06  121.29  120.65  116.163  114.0528     2.1102     1.0         0.0         1.0

List the signal change and entry/exit points for TW
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  43.33  42.89   41.828  41.5608     0.2672     1.0         1.0         0.0
2019-11-14  42.76  43.34   41.929  41.6292     0.2998     1.0         0.0         1.0
2020-01-16  45.66  45.90   46.010  46.1124    -0.1024     0.0        -1.0         0.0
2020-01-17  45.75  45.73   45.918  46.1352    -0.2172     0.0         0.0        -1.0
2020-02-12  46.89  46.18   45.765  45.5692     0.1958     1.0         1.0         0.0
2020-02-13  47.32  46.95   46.002  45.6144     0.3876     1.0         0.0         1.0
2020-03-13  43.40  43.48   48.634  48.6650    -0.0310     0.0        -1.0         0.0
2020-03-16  38.87  39.63   47.495  48.4206    -0.9256     0.0         0.0        -1.0
2020-04-07  48.25  48.78   44.056  43.8488     0.2072     1.0         1.0         0.0
2020-04-08  49.28  48.88   44.823  43.7520     1.0710     1.0         0.0         1.0

List the signal change and entry/exit points for TWLO
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-22  104.29  103.80  100.347   99.8196     0.5274     1.0         1.0         0.0
2019-11-25  103.36  105.00  101.066   99.7324     1.3336     1.0         0.0         1.0
2019-12-12   96.86   96.20   98.466   99.2548    -0.7888     0.0        -1.0         0.0
2019-12-13   97.98   97.01   97.936   99.5316    -1.5956     0.0         0.0        -1.0
2019-12-31   98.28   96.81   99.621   99.4660     0.1550     1.0         1.0         0.0
2020-01-02  103.15  100.01  100.177   99.4576     0.7194     1.0         0.0         1.0
2020-02-26  112.96  113.11  123.172  123.5084    -0.3364     0.0        -1.0         0.0
2020-02-27  110.91  107.52  121.671  123.1800    -1.5090     0.0         0.0        -1.0
2020-04-02   83.32   83.79   92.030   91.9736     0.0564     1.0         1.0         0.0
2020-04-03   80.69   82.58   91.685   90.6956     0.9894     1.0         0.0         1.0

List the signal change and entry/exit points for UNH
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  253.57  254.87  253.332  245.9624     7.3696     1.0         1.0         0.0
2019-11-14  255.83  253.80  253.645  247.2464     6.3986     1.0         0.0         1.0
2020-01-30  280.98  281.84  292.644  292.7824    -0.1384     0.0        -1.0         0.0
2020-01-31  272.45  278.17  289.815  291.8988    -2.0838     0.0         0.0        -1.0
2020-02-14  298.78  302.21  291.455  291.1628     0.2922     1.0         1.0         0.0
2020-02-18  302.14  299.67  294.267  291.4432     2.8238     1.0         0.0         1.0
2020-02-27  253.92  258.42  287.009  287.2888    -0.2798     0.0        -1.0         0.0
2020-02-28  254.96  246.20  282.285  285.5088    -3.2238     0.0         0.0        -1.0
2020-04-08  267.83  247.69  246.996  246.0928     0.9032     1.0         1.0         0.0
2020-04-09  264.13  265.00  247.870  245.3396     2.5304     1.0         0.0         1.0

List the signal change and entry/exit points for VEEV
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-19  152.24  152.51  147.117  145.8616     1.2554     1.0         1.0         0.0
2019-11-20  154.33  152.25  148.465  146.0396     2.4254     1.0         0.0         1.0
2019-12-10  142.90  143.71  147.367  148.0292    -0.6622     0.0        -1.0         0.0
2019-12-11  142.24  143.50  145.668  148.0916    -2.4236     0.0         0.0        -1.0
2020-01-13  148.66  148.69  143.247  143.2164     0.0306     1.0         1.0         0.0
2020-01-14  147.78  149.22  143.934  143.3408     0.5932     1.0         0.0         1.0
2020-03-03  141.50  144.00  151.210  151.7496    -0.5396     0.0        -1.0         0.0
2020-03-04  144.12  149.00  149.233  151.6948    -2.4618     0.0         0.0        -1.0
2020-03-31  156.37  156.87  143.981  142.0532     1.9278     1.0         1.0         0.0
2020-04-01  153.51  150.34  145.279  142.2940     2.9850     1.0         0.0         1.0

List the signal change and entry/exit points for VZ
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-12-04  60.53  60.02   59.908  59.8500     0.0580     1.0         1.0         0.0
2019-12-05  60.82  60.63   60.042  59.8500     0.1920     1.0         0.0         1.0
2020-01-07  59.60  60.10   60.943  60.9528    -0.0098     0.0        -1.0         0.0
2020-01-08  59.71  59.67   60.774  60.9428    -0.1688     0.0         0.0        -1.0
2020-04-07  56.98  57.04   54.130  54.0536     0.0764     1.0         1.0         0.0
2020-04-08  57.80  57.26   54.916  54.0408     0.8752     1.0         0.0         1.0
2020-05-07  55.58  56.10   56.994  57.0880    -0.0940     0.0        -1.0         0.0
2020-05-08  57.00  56.22   56.901  57.1580    -0.2570     0.0         0.0        -1.0
2020-06-05  57.74  57.75   56.061  55.7228     0.3382     1.0         1.0         0.0

List the signal change and entry/exit points for WING
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-12-04   79.09   79.28   77.480   77.3018     0.1782     1.0         1.0         0.0
2019-12-05   80.19   79.23   78.200   77.1110     1.0890     1.0         0.0         1.0
2020-03-02   84.80   84.70   93.709   94.6292    -0.9202     0.0        -1.0         0.0
2020-03-03   81.85   84.74   91.731   94.2268    -2.4958     0.0         0.0        -1.0
2020-04-02   79.55   78.14   73.799   72.7424     1.0566     1.0         1.0         0.0
2020-04-03   77.65   79.78   75.916   72.4704     3.4456     1.0         0.0         1.0
2020-06-01  122.16  122.66  120.962  120.9768    -0.0148     0.0        -1.0         0.0
2020-06-02  124.29  123.47  121.239  121.4268    -0.1878     0.0         0.0        -1.0

List the signal change and entry/exit points for WIX
             close    open   fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13  135.70  132.04  128.2600  124.4632     3.7968     1.0         1.0         0.0
2019-11-14  125.20  128.10  128.5730  124.4812     4.0918     1.0         0.0         1.0
2019-11-27  122.00  121.30  124.1670  125.4520    -1.2850     0.0        -1.0         0.0
2019-11-29  120.89  121.98  123.7360  125.4896    -1.7536     0.0         0.0        -1.0
2020-01-02  127.55  123.21  120.8825  120.3850     0.4975     1.0         1.0         0.0
2020-01-03  128.92  126.14  121.9005  120.7006     1.1999     1.0         0.0         1.0
2020-02-26  132.50  133.80  142.3660  143.1908    -0.8248     0.0        -1.0         0.0
2020-02-27  134.12  129.38  141.2780  142.9552    -1.6772     0.0         0.0        -1.0
2020-04-14  123.34  123.14  106.5670  105.0388     1.5282     1.0         1.0         0.0
2020-04-15  118.41  120.41  108.3260  104.9392     3.3868     1.0         0.0         1.0

List the signal change and entry/exit points for WMT
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-14  120.65  124.60  119.301  119.1556     0.1454     1.0         1.0         0.0
2019-11-15  118.87  120.68  119.426  119.1008     0.3252     1.0         0.0         1.0
2019-12-04  118.69  119.12  119.095  119.1332    -0.0382     0.0        -1.0         0.0
2019-12-05  118.66  118.36  119.048  119.1556    -0.1076     0.0         0.0        -1.0
2019-12-17  121.28  120.95  119.650  119.5408     0.1092     1.0         1.0         0.0
2019-12-18  119.86  121.51  119.767  119.5704     0.1966     1.0         0.0         1.0
2020-01-03  117.89  118.27  119.309  119.4100    -0.1010     0.0        -1.0         0.0
2020-01-06  117.65  117.40  119.066  119.3656    -0.2996     0.0         0.0        -1.0
2020-02-14  117.89  117.67  116.094  115.8724     0.2216     1.0         1.0         0.0
2020-02-18  119.63  118.47  116.630  116.0024     0.6276     1.0         0.0         1.0
2020-02-28  107.68  107.69  115.404  115.6352    -0.2312     0.0        -1.0         0.0
2020-03-02  115.88  107.60  115.203  115.6956    -0.4926     0.0         0.0        -1.0
2020-03-26  109.82  109.40  114.465  114.3976     0.0674     1.0         1.0         0.0
2020-03-27  109.58  110.11  114.013  114.0376    -0.0246     0.0        -1.0         1.0
2020-03-30  115.19  111.86  114.856  113.9924     0.8636     1.0         1.0        -1.0
2020-03-31  113.62  114.31  114.292  113.9616     0.3304     1.0         0.0         1.0
2020-04-01  114.14  112.15  113.448  113.9760    -0.5280     0.0        -1.0         0.0
2020-04-02  118.65  113.18  113.368  114.3060    -0.9380     0.0         0.0        -1.0
2020-04-07  121.99  123.98  115.794  115.5488     0.2452     1.0         1.0         0.0
2020-04-08  121.84  123.69  117.038  115.7516     1.2864     1.0         0.0         1.0
2020-05-06  123.30  125.21  125.407  125.4480    -0.0410     0.0        -1.0         0.0
2020-05-07  121.89  123.46  124.743  125.7580    -1.0150     0.0         0.0        -1.0
2020-05-28  123.69  123.72  124.677  124.6732     0.0038     1.0         1.0         0.0
2020-05-29  124.06  124.24  124.741  124.4944     0.2466     1.0         0.0         1.0
2020-06-04  122.11  122.80  123.689  123.8600    -0.1710     0.0        -1.0         0.0
2020-06-05  121.56  122.57  123.346  123.8604    -0.5144     0.0         0.0        -1.0

List the signal change and entry/exit points for WORK
            close   open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-22  21.17  21.00   21.484  21.4224     0.0616     1.0         1.0         0.0
2019-11-25  22.50  21.34   21.721  21.4192     0.3018     1.0         0.0         1.0
2019-12-17  20.71  21.53   21.735  21.8868    -0.1518     0.0        -1.0         0.0
2019-12-18  21.13  20.51   21.682  21.9040    -0.2220     0.0         0.0        -1.0
2020-01-03  22.46  22.50   21.979  21.9516     0.0274     1.0         1.0         0.0
2020-01-06  23.52  22.32   22.208  21.9876     0.2204     1.0         0.0         1.0
2020-01-24  20.59  21.47   22.262  22.3132    -0.0512     0.0        -1.0         0.0
2020-01-27  20.06  20.05   21.956  22.2704    -0.3144     0.0         0.0        -1.0
2020-02-11  25.98  24.55   22.787  22.4920     0.2950     1.0         1.0         0.0
2020-02-12  25.81  26.05   23.288  22.5712     0.7168     1.0         0.0         1.0
2020-03-12  21.35  21.74   25.868  26.2280    -0.3600     0.0        -1.0         0.0
2020-03-13  19.59  21.02   25.125  26.1056    -0.9806     0.0         0.0        -1.0
2020-03-31  26.84  28.36   24.994  24.7192     0.2748     1.0         1.0         0.0
2020-04-01  25.75  26.15   25.768  24.6848     1.0832     1.0         0.0         1.0

List the signal change and entry/exit points for ZM
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-13   68.01   68.00   68.518   67.6040     0.9140     1.0         1.0         0.0
2019-11-14   67.74   67.77   68.303   67.4732     0.8298     1.0         0.0         1.0
2019-12-11   63.52   64.24   68.393   69.3228    -0.9298     0.0        -1.0         0.0
2019-12-12   62.49   63.49   67.234   69.1492    -1.9152     0.0         0.0        -1.0
2020-01-06   70.32   66.63   67.478   67.1584     0.3196     1.0         1.0         0.0
2020-01-07   71.90   70.29   67.975   67.0544     0.9206     1.0         0.0         1.0
2020-04-16  150.26  149.92  130.877  131.0960    -0.2190     0.0        -1.0         0.0
2020-04-17  150.06  147.91  133.690  132.7196     0.9704     1.0         1.0        -1.0
2020-04-20  148.99  153.30  135.769  134.3804     1.3886     1.0         0.0         1.0

List the signal change and entry/exit points for ZS
            close    open  fast_ma  slow_ma  ma_change  signal  signal_chg  entry_exit
2019-11-14  45.32  44.830  44.3130  44.1458     0.1672     1.0         1.0         0.0
2019-11-15  45.83  45.600  44.3960  44.0542     0.3418     1.0         0.0         1.0
2019-12-17  46.52  46.130  46.7940  47.5144    -0.7204     0.0        -1.0         0.0
2019-12-18  47.24  46.620  46.5330  47.6132    -1.0802     0.0         0.0        -1.0
2020-01-08  50.75  48.140  47.9070  47.6904     0.2166     1.0         1.0         0.0
2020-01-09  54.00  51.160  48.5330  47.7384     0.7946     1.0         0.0         1.0
2020-02-27  49.74  49.990  57.6070  58.0180    -0.4110     0.0        -1.0         0.0
2020-02-28  51.99  48.145  56.6160  57.7252    -1.1092     0.0         0.0        -1.0
2020-03-26  60.55  60.290  52.6035  50.7782     1.8253     1.0         1.0         0.0
2020-03-27  58.63  59.540  54.2775  50.9430     3.3345     1.0         0.0         1.0

List the signal change and entry/exit points for ZTS
             close    open  fast_ma   slow_ma  ma_change  signal  signal_chg  entry_exit
2019-12-05  120.11  119.20  120.497  120.2856     0.2114     1.0         1.0         0.0
2019-12-06  121.72  121.00  120.647  120.0376     0.6094     1.0         0.0         1.0
2020-03-02  138.91  133.84  138.894  139.3132    -0.4192     0.0        -1.0         0.0
2020-03-03  137.24  139.46  138.253  139.3644    -1.1114     0.0         0.0        -1.0
2020-04-08  127.25  126.36  118.676  117.3460     1.3300     1.0         1.0         0.0
2020-04-09  128.75  126.55  119.760  116.9136     2.8464     1.0         0.0         1.0
2020-05-14  126.03  122.07  126.113  126.2144    -0.1014     0.0        -1.0         0.0
2020-05-15  127.49  126.44  126.109  126.1640    -0.0550     0.0         0.0        -1.0
2020-05-18  131.42  130.18  126.507  126.5028     0.0042     1.0         1.0         0.0
2020-05-19  134.34  131.05  126.811  126.7636     0.0474     1.0         0.0         1.0

In [33]:
for ticker in stock_list:
    graph_data = model_collection[ticker][:]
    fig = plt.figure(figsize=(16,9))
    ylabel = ticker + ' Price ($)'
    ax1 = fig.add_subplot(111, ylabel=ylabel)
    graph_data['fast_ma'].plot(ax=ax1, color='b', lw=2.)
    graph_data['slow_ma'].plot(ax=ax1, color='r', lw=2.)
    graph_data['close'].plot(ax=ax1, color='g', lw=2.)
    ax1.plot(graph_data.loc[graph_data.entry_exit == 1].index, graph_data.close[graph_data.entry_exit == 1], '^', markersize=7, color='k',label='buy')
    ax1.plot(graph_data.loc[graph_data.entry_exit == -1].index, graph_data.close[graph_data.entry_exit == -1], 'v', markersize=7, color='k',label='sell')
    plt.legend()
    plt.show()
In [34]:
if notifyStatus: email_notify("Task 3. Develop Strategy and Train Model completed! "+datetime.now().strftime('%a %B %d, %Y %I:%M:%S %p'))

Task 4. Back-test Model

In [35]:
if notifyStatus: email_notify("Task 4. Back-test Model has begun! "+datetime.now().strftime('%a %B %d, %Y %I:%M:%S %p'))
In [36]:
def trading_portfolio_generation(ticker_symbol, initial_fund, trading_model):
    # Construct a portfolio to track the transactions and returns
    portfolio = pd.DataFrame(index=trading_model[ticker_symbol].index, columns=['trade_action', 'qty_onhand', 'cost_basis', 'sale_proceed', 'gain_loss', 'cash_value', 'position_value', 'total_value', 'accumu_return'])
    portfolio.iloc[0]['trade_action'] = 0
    portfolio.iloc[0]['qty_onhand'] = 0
    portfolio.iloc[0]['cost_basis'] = 0.00
    portfolio.iloc[0]['sale_proceed'] = 0.00
    portfolio.iloc[0]['gain_loss'] = 0.00
    portfolio.iloc[0]['cash_value'] = initial_fund
    portfolio.iloc[0]['position_value'] = 0.00
    portfolio.iloc[0]['total_value'] = initial_fund
    portfolio.iloc[0]['accumu_return'] = portfolio.iloc[0]['total_value'] - initial_fund

    # The conditional parameters below determine how the trading strategy will be carried out
    for i in range(1, len(portfolio)):
        if (trading_model[ticker_symbol].iloc[i]['entry_exit'] == 1) and (portfolio.iloc[i-1]['qty_onhand'] == 0):
            portfolio.iloc[i]['trade_action'] = 1
            portfolio.iloc[i]['qty_onhand'] = portfolio.iloc[i-1]['qty_onhand'] + portfolio.iloc[i]['trade_action']
            portfolio.iloc[i]['cost_basis'] = trading_model[ticker_symbol].iloc[i]['open'] * portfolio.iloc[i]['trade_action']
            portfolio.iloc[i]['sale_proceed'] = 0.00
            portfolio.iloc[i]['gain_loss'] = 0.00
            portfolio.iloc[i]['cash_value'] = portfolio.iloc[i-1]['cash_value'] - portfolio.iloc[i]['cost_basis']
            recent_cost = trading_model[ticker_symbol].iloc[i]['open'] * portfolio.iloc[i]['trade_action']
            if verbose: print('BOUGHT QTY:', portfolio.iloc[i]['trade_action'], 'on', portfolio.index[i], 'at the price of', trading_model[ticker_symbol].iloc[i]['open'])
        elif (trading_model[ticker_symbol].iloc[i]['entry_exit'] == -1) and (portfolio.iloc[i-1]['qty_onhand'] > 0):
            portfolio.iloc[i]['trade_action'] = -1
            portfolio.iloc[i]['qty_onhand'] = portfolio.iloc[i-1]['qty_onhand'] + portfolio.iloc[i]['trade_action']
            portfolio.iloc[i]['cost_basis'] = 0.00
            portfolio.iloc[i]['sale_proceed'] = trading_model[ticker_symbol].iloc[i]['open'] * portfolio.iloc[i]['trade_action'] * -1
            portfolio.iloc[i]['gain_loss'] = (recent_cost + (trading_model[ticker_symbol].iloc[i]['open'] * portfolio.iloc[i]['trade_action'])) * -1
            portfolio.iloc[i]['cash_value'] = portfolio.iloc[i-1]['cash_value'] + portfolio.iloc[i]['sale_proceed']
            recent_cost = 0.00
            if verbose: print('SOLD QTY:', portfolio.iloc[i]['trade_action'], 'on', portfolio.index[i], 'at the price of', trading_model[ticker_symbol].iloc[i]['open'])
        else:
            portfolio.iloc[i]['trade_action'] = 0
            portfolio.iloc[i]['qty_onhand'] = portfolio.iloc[i-1]['qty_onhand']
            portfolio.iloc[i]['cost_basis'] = portfolio.iloc[i-1]['cost_basis']
            portfolio.iloc[i]['sale_proceed'] = 0.00
            portfolio.iloc[i]['gain_loss'] = 0.00
            portfolio.iloc[i]['cash_value'] = portfolio.iloc[i-1]['cash_value']
        portfolio.iloc[i]['position_value'] = trading_model[ticker_symbol].iloc[i]['close'] * portfolio.iloc[i]['qty_onhand']
        portfolio.iloc[i]['total_value'] = portfolio.iloc[i]['cash_value'] + portfolio.iloc[i]['position_value']
        portfolio.iloc[i]['accumu_return'] = portfolio.iloc[i]['total_value'] - initial_fund

    return portfolio
In [37]:
initial_capital = 0
portfolio_collection = {}

stock_status = stock_meta.copy()
stock_status.drop(['Share_Outstanding'], axis=1, inplace=True)

for ticker in stock_list:
    print('Processing portfolio for ticker symbol:', ticker)
    portfolio_collection[ticker] = trading_portfolio_generation(ticker, initial_capital, model_collection)
    trade_transactions = portfolio_collection[ticker][portfolio_collection[ticker].trade_action != 0]
    print(trade_transactions)
    stock_status.loc[ticker, 'per_share_pandl'] = portfolio_collection[ticker].accumu_return[-1]
    print('Accumulated profit/loss for one share of stock with initial capital of $%.0f at the end of modeling period: $%.2f' % (initial_capital, stock_status.loc[ticker, 'per_share_pandl']))
    stock_status.loc[ticker, 'per_share_return'] = portfolio_collection[ticker].accumu_return[-1] / trade_transactions.cost_basis[0]
    print('Accumulated return percentage based on the cost of first share of stock investment: %.2f%%\n' % (stock_status.loc[ticker, 'per_share_return'] * 100))
    if trade_transactions.iloc[-1]['trade_action'] == 1:
        stock_status.loc[ticker, 'current_status'] = 'Holding Position'
        stock_status.loc[ticker, 'last_action_date'] = trade_transactions.index.tolist()[-1]
    else:
        stock_status.loc[ticker, 'current_status'] = 'Waiting to Enter'
        stock_status.loc[ticker, 'last_action_date'] = trade_transactions.index.tolist()[-1]
Processing portfolio for ticker symbol: AAPL
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     263.75            0         0    -263.75         262.64       -1.11         -1.11
2020-02-26           -1          0          0       286.53     22.78      22.78              0       22.78         22.78
2020-04-14            1          1        280            0         0    -257.22         287.05       29.83         29.83
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $74.28
Accumulated return percentage based on the cost of first share of stock investment: 28.16%

Processing portfolio for ticker symbol: ABBV
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      86.48            0         0     -86.48          87.63        1.15          1.15
2019-12-16           -1          0          0        88.38       1.9        1.9              0         1.9           1.9
2019-12-18            1          1      90.05            0         0     -88.15          89.33        1.18          1.18
2020-01-21           -1          0          0        87.68     -2.37      -0.47              0       -0.47         -0.47
2020-02-13            1          1      96.85            0         0     -97.32          95.35       -1.97         -1.97
2020-03-06           -1          0          0        88.73     -8.12      -8.59              0       -8.59         -8.59
2020-04-14            1          1      80.62            0         0     -89.21          82.13       -7.08         -7.08
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $4.64
Accumulated return percentage based on the cost of first share of stock investment: 5.37%

Processing portfolio for ticker symbol: ABT
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      84.09            0         0     -84.09          84.12        0.03          0.03
2020-01-14           -1          0          0        84.13      0.04       0.04              0        0.04          0.04
2020-01-22            1          1      90.78            0         0     -90.74          91.86        1.12          1.12
2020-02-14           -1          0          0        88.87     -1.91      -1.87              0       -1.87         -1.87
2020-02-18            1          1      89.42            0         0     -91.29          88.88       -2.41         -2.41
2020-02-21           -1          0          0        88.04     -1.38      -3.25              0       -3.25         -3.25
2020-04-08            1          1       82.5            0         0     -85.75          84.95        -0.8          -0.8
2020-05-15           -1          0          0        89.96      7.46       4.21              0        4.21          4.21
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $4.21
Accumulated return percentage based on the cost of first share of stock investment: 5.01%

Processing portfolio for ticker symbol: ADBE
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     293.54            0         0    -293.54         294.53        0.99          0.99
2020-03-03           -1          0          0       361.76     68.22      68.22              0       68.22         68.22
2020-04-13            1          1     315.94            0         0    -247.72         320.65       72.93         72.93
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $145.18
Accumulated return percentage based on the cost of first share of stock investment: 49.46%

Processing portfolio for ticker symbol: AKAM
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-27            1          1      88.83            0         0     -88.83          87.29       -1.54         -1.54
2019-12-09           -1          0          0        84.95     -3.88      -3.88              0       -3.88         -3.88
2020-01-02            1          1      86.84            0         0     -90.72          87.64       -3.08         -3.08
2020-03-03           -1          0          0        90.53      3.69      -0.19              0       -0.19         -0.19
2020-03-31            1          1      92.89            0         0     -93.08          91.49       -1.59         -1.59
2020-05-08           -1          0          0       101.52      8.63       8.44              0        8.44          8.44
2020-05-29            1          1     103.76            0         0     -95.32          105.8       10.48         10.48
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $3.68
Accumulated return percentage based on the cost of first share of stock investment: 4.14%

Processing portfolio for ticker symbol: AMD
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      37.51            0         0     -37.51          38.35        0.84          0.84
2020-02-07           -1          0          0        48.91      11.4       11.4              0        11.4          11.4
2020-02-13            1          1      53.43            0         0     -42.03          54.53        12.5          12.5
2020-03-04           -1          0          0        48.25     -5.18       6.22              0        6.22          6.22
2020-04-03            1          1       44.3            0         0     -38.08          42.59        4.51          4.51
2020-05-12           -1          0          0       56.186    11.886     18.106              0      18.106        18.106
2020-05-22            1          1      54.77            0         0    -36.664          55.17      18.506        18.506
2020-06-05           -1          0          0        52.99     -1.78     16.326              0      16.326        16.326
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $16.33
Accumulated return percentage based on the cost of first share of stock investment: 43.52%

Processing portfolio for ticker symbol: AMT
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-27            1          1      214.8            0         0     -214.8         214.91        0.11          0.11
2019-12-16           -1          0          0          213      -1.8       -1.8              0        -1.8          -1.8
2019-12-20            1          1      226.8            0         0     -228.6         227.74       -0.86         -0.86
2020-03-04           -1          0          0       245.58     18.78      16.98              0       16.98         16.98
2020-04-09            1          1      248.5            0         0    -231.52          259.6       28.08         28.08
2020-05-07           -1          0          0       239.18     -9.32       7.66              0        7.66          7.66
2020-06-01            1          1     258.03            0         0    -250.37         264.31       13.94         13.94
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $14.52
Accumulated return percentage based on the cost of first share of stock investment: 6.76%

Processing portfolio for ticker symbol: AMZN
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1    1751.43            0         0   -1751.43         1754.6        3.17          3.17
2019-11-19           -1          0          0      1756.99      5.56       5.56              0        5.56          5.56
2019-12-09            1          1    1750.66            0         0    -1745.1        1749.51        4.41          4.41
2019-12-13           -1          0          0         1765     14.34       19.9              0        19.9          19.9
2019-12-20            1          1    1799.62            0         0   -1779.72         1786.5        6.78          6.78
2020-01-30           -1          0          0         1858     58.38      78.28              0       78.28         78.28
2020-02-03            1          1     2010.6            0         0   -1932.32         2004.2       71.88         71.88
2020-03-04           -1          0          0      1946.57    -64.03      14.25              0       14.25         14.25
2020-03-31            1          1    1964.35            0         0    -1950.1        1949.72       -0.38         -0.38
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $532.90
Accumulated return percentage based on the cost of first share of stock investment: 30.43%

Processing portfolio for ticker symbol: ATVI
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-12-06            1          1      55.12            0         0     -55.12          55.21        0.09          0.09
2020-02-05           -1          0          0        60.14      5.02       5.02              0        5.02          5.02
2020-02-11            1          1      61.93            0         0     -56.91          61.19        4.28          4.28
2020-03-04           -1          0          0           60     -1.93       3.09              0        3.09          3.09
2020-04-07            1          1      62.53            0         0     -59.44          59.87        0.43          0.43
2020-06-05           -1          0          0        67.99      5.46       8.55              0        8.55          8.55
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $8.55
Accumulated return percentage based on the cost of first share of stock investment: 15.51%

Processing portfolio for ticker symbol: BAX
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-22            1          1      82.03            0         0     -82.03          82.02       -0.01         -0.01
2020-02-28           -1          0          0        81.81     -0.22      -0.22              0       -0.22         -0.22
2020-04-08            1          1       83.1            0         0     -83.32          84.48        1.16          1.16
2020-05-12           -1          0          0        89.41      6.31       6.09              0        6.09          6.09
2020-06-04            1          1      89.23            0         0     -83.14          88.63        5.49          5.49
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $6.05
Accumulated return percentage based on the cost of first share of stock investment: 7.38%

Processing portfolio for ticker symbol: BNTX
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      18.86            0         0     -18.86             19        0.14          0.14
2020-01-27           -1          0          0        33.24     14.38      14.38              0       14.38         14.38
2020-02-28            1          1       33.4            0         0     -19.02           35.1       16.08         16.08
2020-04-15           -1          0          0         40.9       7.5      21.88              0       21.88         21.88
2020-05-06            1          1      50.14            0         0     -28.26          47.78       19.52         19.52
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $20.92
Accumulated return percentage based on the cost of first share of stock investment: 110.92%

Processing portfolio for ticker symbol: BSX
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      41.45            0         0     -41.45          41.57        0.12          0.12
2020-01-16           -1          0          0        42.71      1.26       1.26              0        1.26          1.26
2020-04-09            1          1      35.25            0         0     -33.99          36.83        2.84          2.84
2020-05-20           -1          0          0        35.92      0.67       1.93              0        1.93          1.93
2020-05-21            1          1      35.52            0         0     -33.59          34.79         1.2           1.2
2020-05-22           -1          0          0        35.57      0.05       1.98              0        1.98          1.98
2020-06-02            1          1      37.62            0         0     -35.64          37.54         1.9           1.9
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $3.19
Accumulated return percentage based on the cost of first share of stock investment: 7.70%

Processing portfolio for ticker symbol: BYND
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2020-01-08            1          1         86            0         0        -86          81.48       -4.52         -4.52
2020-02-14           -1          0          0          113        27         27              0          27            27
2020-02-20            1          1     126.08            0         0     -99.08         120.58        21.5          21.5
2020-03-02           -1          0          0           95    -31.08      -4.08              0       -4.08         -4.08
2020-04-15            1          1      76.71            0         0     -80.79           74.7       -6.09         -6.09
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $52.74
Accumulated return percentage based on the cost of first share of stock investment: 61.33%

Processing portfolio for ticker symbol: CAG
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      28.26            0         0     -28.26          28.44        0.18          0.18
2019-12-19           -1          0          0        31.16       2.9        2.9              0         2.9           2.9
2019-12-20            1          1      33.67            0         0     -30.77          35.07         4.3           4.3
2020-01-22           -1          0          0        32.82     -0.85       2.05              0        2.05          2.05
2020-02-06            1          1       32.4            0         0     -30.35          32.09        1.74          1.74
2020-02-14           -1          0          0        32.63      0.23       2.28              0        2.28          2.28
2020-04-02            1          1      29.19            0         0     -26.91          29.93        3.02          3.02
2020-05-15           -1          0          0        34.11      4.92        7.2              0         7.2           7.2
2020-06-05            1          1      33.31            0         0     -26.11          33.42        7.31          7.31
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $7.31
Accumulated return percentage based on the cost of first share of stock investment: 25.87%

Processing portfolio for ticker symbol: CCI
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-12-10            1          1     136.38            0         0    -136.38            134       -2.38         -2.38
2020-03-10           -1          0          0       153.61     17.23      17.23              0       17.23         17.23
2020-04-09            1          1     158.26            0         0    -141.03         164.14       23.11         23.11
2020-05-11           -1          0          0       155.83     -2.43       14.8              0        14.8          14.8
2020-06-01            1          1     171.74            0         0    -156.94         173.77       16.83         16.83
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $11.66
Accumulated return percentage based on the cost of first share of stock investment: 8.55%

Processing portfolio for ticker symbol: CHGG
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      35.91            0         0     -35.91          36.52        0.61          0.61
2020-02-14           -1          0          0        39.96      4.05       4.05              0        4.05          4.05
2020-04-08            1          1      35.75            0         0      -31.7          36.84        5.14          5.14
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $26.84
Accumulated return percentage based on the cost of first share of stock investment: 74.74%

Processing portfolio for ticker symbol: CHWY
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-12-05            1          1      23.89            0         0     -23.89          24.33        0.44          0.44
2020-01-30           -1          0          0        28.17      4.28       4.28              0        4.28          4.28
2020-02-24            1          1       28.8            0         0     -24.52          30.84        6.32          6.32
2020-03-11           -1          0          0        26.72     -2.08        2.2              0         2.2           2.2
2020-03-26            1          1      30.89            0         0     -28.69          33.81        5.12          5.12
2020-05-12           -1          0          0        39.66      8.77      10.97              0       10.97         10.97
2020-06-03            1          1      48.66            0         0     -37.69          48.22       10.53         10.53
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $10.75
Accumulated return percentage based on the cost of first share of stock investment: 45.00%

Processing portfolio for ticker symbol: CL
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-12-02            1          1         68            0         0        -68          67.57       -0.43         -0.43
2020-03-03           -1          0          0        72.55      4.55       4.55              0        4.55          4.55
2020-04-09            1          1      70.66            0         0     -66.11          69.91         3.8           3.8
2020-05-07           -1          0          0         68.9     -1.76       2.79              0        2.79          2.79
2020-05-29            1          1      72.14            0         0     -69.35          72.33        2.98          2.98
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $3.05
Accumulated return percentage based on the cost of first share of stock investment: 4.49%

Processing portfolio for ticker symbol: CLX
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-12-05            1          1      149.9            0         0     -149.9         150.79        0.89          0.89
2020-04-03           -1          0          0       178.31     28.41      28.41              0       28.41         28.41
2020-04-09            1          1     179.23            0         0    -150.82         184.21       33.39         33.39
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $46.75
Accumulated return percentage based on the cost of first share of stock investment: 31.19%

Processing portfolio for ticker symbol: CMG
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-27            1          1     817.13            0         0    -817.13         816.75       -0.38         -0.38
2020-03-02           -1          0          0       779.52    -37.61     -37.61              0      -37.61        -37.61
2020-04-07            1          1        750            0         0    -787.61          704.3      -83.31        -83.31
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $265.85
Accumulated return percentage based on the cost of first share of stock investment: 32.53%

Processing portfolio for ticker symbol: CNC
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      55.46            0         0     -55.46          54.65       -0.81         -0.81
2019-12-23           -1          0          0        62.29      6.83       6.83              0        6.83          6.83
2019-12-24            1          1         63            0         0     -56.17          63.23        7.06          7.06
2020-02-07           -1          0          0        64.43      1.43       8.26              0        8.26          8.26
2020-02-20            1          1       66.7            0         0     -58.44          65.73        7.29          7.29
2020-02-26           -1          0          0        55.84    -10.86       -2.6              0        -2.6          -2.6
2020-04-08            1          1      60.63            0         0     -63.23          65.15        1.92          1.92
2020-05-12           -1          0          0        68.38      7.75       5.15              0        5.15          5.15
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $5.15
Accumulated return percentage based on the cost of first share of stock investment: 9.29%

Processing portfolio for ticker symbol: COR
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2020-01-16            1          1      115.8            0         0     -115.8         117.37        1.57          1.57
2020-02-13           -1          0          0       112.23     -3.57      -3.57              0       -3.57         -3.57
2020-04-06            1          1     113.79            0         0    -117.36         115.89       -1.47         -1.47
2020-05-27           -1          0          0       121.94      8.15       4.58              0        4.58          4.58
2020-05-29            1          1     124.39            0         0    -119.81         124.82        5.01          5.01
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $-0.30
Accumulated return percentage based on the cost of first share of stock investment: -0.26%

Processing portfolio for ticker symbol: COST
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     304.39            0         0    -304.39         304.59         0.2           0.2
2019-12-04           -1          0          0       296.04     -8.35      -8.35              0       -8.35         -8.35
2020-01-14            1          1     299.25            0         0     -307.6         299.75       -7.85         -7.85
2020-03-03           -1          0          0      308.858     9.608      1.258              0       1.258         1.258
2020-04-14            1          1     302.75            0         0   -301.492         314.14      12.648        12.648
2020-05-11           -1          0          0       305.64      2.89      4.148              0       4.148         4.148
2020-06-02            1          1     307.95            0         0   -303.802         307.09       3.288         3.288
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $8.24
Accumulated return percentage based on the cost of first share of stock investment: 2.71%

Processing portfolio for ticker symbol: COUP
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-20            1          1     148.16            0         0    -148.16          150.3        2.14          2.14
2019-12-18           -1          0          0       141.13     -7.03      -7.03              0       -7.03         -7.03
2020-01-03            1          1     150.54            0         0    -157.57         159.58        2.01          2.01
2020-02-06           -1          0          0       158.56      8.02       0.99              0        0.99          0.99
2020-02-24            1          1     154.01            0         0    -153.02         160.29        7.27          7.27
2020-03-02           -1          0          0       154.79      0.78       1.77              0        1.77          1.77
2020-03-31            1          1     146.28            0         0    -144.51         139.73       -4.78         -4.78
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $72.43
Accumulated return percentage based on the cost of first share of stock investment: 48.89%

Processing portfolio for ticker symbol: CPB
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-21            1          1      48.03            0         0     -48.03          46.84       -1.19         -1.19
2020-01-14           -1          0          0        47.74     -0.29      -0.29              0       -0.29         -0.29
2020-01-30            1          1      48.41            0         0      -48.7          49.03        0.33          0.33
2020-02-20           -1          0          0        47.72     -0.69      -0.98              0       -0.98         -0.98
2020-03-09            1          1      49.69            0         0     -50.67           50.2       -0.47         -0.47
2020-03-25           -1          0          0        43.13     -6.56      -7.54              0       -7.54         -7.54
2020-04-15            1          1      51.42            0         0     -58.96           50.5       -8.46         -8.46
2020-05-27           -1          0          0           47     -4.42     -11.96              0      -11.96        -11.96
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $-11.96
Accumulated return percentage based on the cost of first share of stock investment: -24.90%

Processing portfolio for ticker symbol: CRM
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     163.03            0         0    -163.03         163.05        0.02          0.02
2019-12-09           -1          0          0       157.38     -5.65      -5.65              0       -5.65         -5.65
2019-12-26            1          1      163.4            0         0    -169.05         164.51       -4.54         -4.54
2020-03-02           -1          0          0        172.2       8.8       3.15              0        3.15          3.15
2020-04-14            1          1     155.71            0         0    -152.56         157.71        5.15          5.15
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $21.32
Accumulated return percentage based on the cost of first share of stock investment: 13.08%

Processing portfolio for ticker symbol: CRWD
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-19            1          1      57.45            0         0     -57.45             56       -1.45         -1.45
2019-12-13           -1          0          0         47.5     -9.95      -9.95              0       -9.95         -9.95
2020-01-09            1          1      56.95            0         0      -66.9          55.94      -10.96        -10.96
2020-03-02           -1          0          0         60.2      3.25       -6.7              0        -6.7          -6.7
2020-03-31            1          1      57.03            0         0     -63.73          55.68       -8.05         -8.05
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $30.20
Accumulated return percentage based on the cost of first share of stock investment: 52.57%

Processing portfolio for ticker symbol: CTXS
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     111.46            0         0    -111.46         111.39       -0.07         -0.07
2019-12-11           -1          0          0       109.96      -1.5       -1.5              0        -1.5          -1.5
2020-01-07            1          1     112.51            0         0    -114.01         112.41        -1.6          -1.6
2020-02-21           -1          0          0       119.01       6.5          5              0           5             5
2020-03-18            1          1     122.64            0         0    -117.64          130.5       12.86         12.86
2020-05-07           -1          0          0       149.03     26.39      31.39              0       31.39         31.39
2020-05-11            1          1     151.89            0         0     -120.5         154.02       33.52         33.52
2020-05-21           -1          0          0       137.81    -14.08      17.31              0       17.31         17.31
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $17.31
Accumulated return percentage based on the cost of first share of stock investment: 15.53%

Processing portfolio for ticker symbol: D
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-26            1          1      83.35            0         0     -83.35          83.46        0.11          0.11
2019-12-12           -1          0          0        80.79     -2.56      -2.56              0       -2.56         -2.56
2020-01-02            1          1      82.88            0         0     -85.44          81.96       -3.48         -3.48
2020-03-05           -1          0          0        87.37      4.49       1.93              0        1.93          1.93
2020-04-14            1          1       81.6            0         0     -79.67          82.02        2.35          2.35
2020-05-11           -1          0          0         77.7      -3.9      -1.97              0       -1.97         -1.97
2020-05-19            1          1      79.44            0         0     -81.41          78.83       -2.58         -2.58
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $2.88
Accumulated return percentage based on the cost of first share of stock investment: 3.46%

Processing portfolio for ticker symbol: DDOG
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      40.18            0         0     -40.18          41.37        1.19          1.19
2019-12-12           -1          0          0        35.45     -4.73      -4.73              0       -4.73         -4.73
2020-01-07            1          1      39.95            0         0     -44.68          40.06       -4.62         -4.62
2020-03-02           -1          0          0           45      5.05       0.32              0        0.32          0.32
2020-04-13            1          1      37.69            0         0     -37.37          37.87         0.5           0.5
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $33.29
Accumulated return percentage based on the cost of first share of stock investment: 82.85%

Processing portfolio for ticker symbol: DG
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2020-01-02            1          1     156.95            0         0    -156.95         156.54       -0.41         -0.41
2020-01-10           -1          0          0       153.17     -3.78      -3.78              0       -3.78         -3.78
2020-01-24            1          1     154.92            0         0     -158.7         154.34       -4.36         -4.36
2020-02-05           -1          0          0        156.6      1.68       -2.1              0        -2.1          -2.1
2020-02-06            1          1     157.76            0         0    -159.86         155.47       -4.39         -4.39
2020-03-10           -1          0          0       162.63      4.87       2.77              0        2.77          2.77
2020-04-08            1          1     169.74            0         0    -166.97         169.22        2.25          2.25
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $18.69
Accumulated return percentage based on the cost of first share of stock investment: 11.91%

Processing portfolio for ticker symbol: DHR
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-20            1          1     143.07            0         0    -143.07         142.96       -0.11         -0.11
2020-02-25           -1          0          0       157.73     14.66      14.66              0       14.66         14.66
2020-04-08            1          1     141.83            0         0    -127.17         145.13       17.96         17.96
2020-05-21           -1          0          0       158.17     16.34         31              0          31            31
2020-06-04            1          1        169            0         0       -138         168.79       30.79         30.79
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $35.23
Accumulated return percentage based on the cost of first share of stock investment: 24.62%

Processing portfolio for ticker symbol: DOCU
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1         68            0         0        -68          67.75       -0.25         -0.25
2020-01-22           -1          0          0         73.7       5.7        5.7              0         5.7           5.7
2020-02-03            1          1       79.1            0         0      -73.4          80.63        7.23          7.23
2020-03-10           -1          0          0           80       0.9        6.6              0         6.6           6.6
2020-04-01            1          1      90.82            0         0     -84.22          92.09        7.87          7.87
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $55.42
Accumulated return percentage based on the cost of first share of stock investment: 81.50%

Processing portfolio for ticker symbol: DPZ
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     278.69            0         0    -278.69         278.66       -0.03         -0.03
2020-01-15           -1          0          0       284.97      6.28       6.28              0        6.28          6.28
2020-02-20            1          1     362.03            0         0    -355.75         373.16       17.41         17.41
2020-03-18           -1          0          0       296.54    -65.49     -59.21              0      -59.21        -59.21
2020-04-02            1          1     330.22            0         0    -389.43         333.45      -55.98        -55.98
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $-13.02
Accumulated return percentage based on the cost of first share of stock investment: -4.67%

Processing portfolio for ticker symbol: DXCM
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     204.81            0         0    -204.81         202.81          -2            -2
2019-12-18           -1          0          0       216.83     12.02      12.02              0       12.02         12.02
2020-01-08            1          1     230.78            0         0    -218.76         233.23       14.47         14.47
2020-03-16           -1          0          0          215    -15.78      -3.76              0       -3.76         -3.76
2020-04-06            1          1     272.37            0         0    -276.13         269.31       -6.82         -6.82
2020-06-04           -1          0          0       363.66     91.29      87.53              0       87.53         87.53
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $87.53
Accumulated return percentage based on the cost of first share of stock investment: 42.74%

Processing portfolio for ticker symbol: EA
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1       96.2            0         0      -96.2          97.54        1.34          1.34
2020-02-07           -1          0          0       109.17     12.97      12.97              0       12.97         12.97
2020-04-08            1          1     106.95            0         0     -93.98          106.8       12.82         12.82
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $24.34
Accumulated return percentage based on the cost of first share of stock investment: 25.30%

Processing portfolio for ticker symbol: EBAY
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-12-05            1          1      34.94            0         0     -34.94          34.79       -0.15         -0.15
2019-12-11           -1          0          0         34.7     -0.24      -0.24              0       -0.24         -0.24
2019-12-20            1          1      36.02            0         0     -36.26          36.19       -0.07         -0.07
2020-01-15           -1          0          0        35.43     -0.59      -0.83              0       -0.83         -0.83
2020-02-07            1          1      35.83            0         0     -36.66           36.2       -0.46         -0.46
2020-03-09           -1          0          0        34.02     -1.81      -2.64              0       -2.64         -2.64
2020-04-15            1          1      35.31            0         0     -37.95          36.19       -1.76         -1.76
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $10.87
Accumulated return percentage based on the cost of first share of stock investment: 31.11%

Processing portfolio for ticker symbol: EBS
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1         55            0         0        -55          54.35       -0.65         -0.65
2019-11-19           -1          0          0        54.61     -0.39      -0.39              0       -0.39         -0.39
2020-01-02            1          1      54.27            0         0     -54.66             54       -0.66         -0.66
2020-03-05           -1          0          0        57.57       3.3       2.91              0        2.91          2.91
2020-04-08            1          1      60.22            0         0     -57.31          61.93        4.62          4.62
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $29.60
Accumulated return percentage based on the cost of first share of stock investment: 53.82%

Processing portfolio for ticker symbol: EQIX
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-26            1          1     553.22            0         0    -553.22         554.68        1.46          1.46
2020-03-09           -1          0          0          571     17.78      17.78              0       17.78         17.78
2020-04-06            1          1     639.78            0         0       -622         652.22       30.22         30.22
2020-05-13           -1          0          0       663.48      23.7      41.48              0       41.48         41.48
2020-06-03            1          1     691.69            0         0    -650.21         688.99       38.78         38.78
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $23.29
Accumulated return percentage based on the cost of first share of stock investment: 4.21%

Processing portfolio for ticker symbol: ETSY
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-12-06            1          1      41.28            0         0     -41.28          41.23       -0.05         -0.05
2019-12-16           -1          0          0        42.49      1.21       1.21              0        1.21          1.21
2019-12-23            1          1      44.31            0         0      -43.1          44.78        1.68          1.68
2020-03-18           -1          0          0        39.63     -4.68      -3.47              0       -3.47         -3.47
2020-04-14            1          1      55.76            0         0     -59.23          57.66       -1.57         -1.57
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $19.49
Accumulated return percentage based on the cost of first share of stock investment: 47.21%

Processing portfolio for ticker symbol: EVBG
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      84.75            0         0     -84.75          83.82       -0.93         -0.93
2019-12-16           -1          0          0        81.08     -3.67      -3.67              0       -3.67         -3.67
2020-01-13            1          1      83.82            0         0     -87.49          84.96       -2.53         -2.53
2020-04-08           -1          0          0        98.85     15.03      11.36              0       11.36         11.36
2020-04-22            1          1      118.5            0         0    -107.14         122.05       14.91         14.91
2020-06-05           -1          0          0        130.3      11.8      23.16              0       23.16         23.16
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $23.16
Accumulated return percentage based on the cost of first share of stock investment: 27.33%

Processing portfolio for ticker symbol: GILD
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-26            1          1      66.68            0         0     -66.68          67.28         0.6           0.6
2019-12-27           -1          0          0        66.38      -0.3       -0.3              0        -0.3          -0.3
2020-02-06            1          1      67.29            0         0     -67.59          68.21        0.62          0.62
2020-03-26           -1          0          0         69.9      2.61       2.31              0        2.31          2.31
2020-03-27            1          1      73.71            0         0      -71.4          72.85        1.45          1.45
2020-04-03           -1          0          0        77.41       3.7       6.01              0        6.01          6.01
2020-04-07            1          1       77.3            0         0     -71.29          74.67        3.38          3.38
2020-05-15           -1          0          0        76.47     -0.83       5.18              0        5.18          5.18
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $5.18
Accumulated return percentage based on the cost of first share of stock investment: 7.77%

Processing portfolio for ticker symbol: GIS
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-15            1          1      52.51            0         0     -52.51          52.56        0.05          0.05
2019-12-17           -1          0          0        52.21      -0.3       -0.3              0        -0.3          -0.3
2020-01-02            1          1      53.63            0         0     -53.93          52.13        -1.8          -1.8
2020-01-06           -1          0          0        52.08     -1.55      -1.85              0       -1.85         -1.85
2020-01-17            1          1      53.91            0         0     -55.76          53.85       -1.91         -1.91
2020-02-07           -1          0          0        51.77     -2.14      -3.99              0       -3.99         -3.99
2020-02-25            1          1      53.68            0         0     -57.67          52.53       -5.14         -5.14
2020-03-02           -1          0          0        49.21     -4.47      -8.46              0       -8.46         -8.46
2020-03-16            1          1       49.4            0         0     -57.86          53.38       -4.48         -4.48
2020-03-26           -1          0          0        47.81     -1.59     -10.05              0      -10.05        -10.05
2020-04-08            1          1      56.09            0         0     -66.14          55.73      -10.41        -10.41
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $-5.14
Accumulated return percentage based on the cost of first share of stock investment: -9.79%

Processing portfolio for ticker symbol: GOLD
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-12-02            1          1      16.76            0         0     -16.76          16.89        0.13          0.13
2020-01-21           -1          0          0        17.96       1.2        1.2              0         1.2           1.2
2020-01-29            1          1      18.09            0         0     -16.89          18.37        1.48          1.48
2020-03-13           -1          0          0        17.45     -0.64       0.56              0        0.56          0.56
2020-04-03            1          1      19.74            0         0     -19.18          19.95        0.77          0.77
2020-05-27           -1          0          0        23.45      3.71       4.27              0        4.27          4.27
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $4.27
Accumulated return percentage based on the cost of first share of stock investment: 25.48%

Processing portfolio for ticker symbol: GOOG
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     1297.5            0         0    -1297.5        1311.46       13.96         13.96
2020-02-28           -1          0          0       1277.5       -20        -20              0         -20           -20
2020-04-13            1          1    1209.18            0         0   -1229.18        1217.56      -11.62        -11.62
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $209.21
Accumulated return percentage based on the cost of first share of stock investment: 16.12%

Processing portfolio for ticker symbol: GSK
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1       43.8            0         0      -43.8          43.85        0.05          0.05
2019-11-25           -1          0          0        44.49      0.69       0.69              0        0.69          0.69
2019-12-04            1          1      44.51            0         0     -43.82          45.07        1.25          1.25
2020-01-17           -1          0          0        48.15      3.64       4.33              0        4.33          4.33
2020-01-21            1          1      47.66            0         0     -43.33           47.5        4.17          4.17
2020-02-06           -1          0          0        44.07     -3.59       0.74              0        0.74          0.74
2020-04-09            1          1      39.17            0         0     -38.43          38.88        0.45          0.45
2020-05-20           -1          0          0        41.87       2.7       3.44              0        3.44          3.44
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $3.44
Accumulated return percentage based on the cost of first share of stock investment: 7.85%

Processing portfolio for ticker symbol: HD
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-12-27            1          1      221.2            0         0     -221.2         219.97       -1.23         -1.23
2020-03-03           -1          0          0       230.03      8.83       8.83              0        8.83          8.83
2020-04-13            1          1     200.45            0         0    -191.62         198.79        7.17          7.17
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $63.28
Accumulated return percentage based on the cost of first share of stock investment: 28.61%

Processing portfolio for ticker symbol: HRL
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      42.22            0         0     -42.22          42.23        0.01          0.01
2020-01-02           -1          0          0        45.14      2.92       2.92              0        2.92          2.92
2020-01-21            1          1      46.34            0         0     -43.42          46.95        3.53          3.53
2020-02-26           -1          0          0        44.94      -1.4       1.52              0        1.52          1.52
2020-03-25            1          1      44.01            0         0     -42.49          41.94       -0.55         -0.55
2020-05-04           -1          0          0        46.55      2.54       4.06              0        4.06          4.06
2020-05-22            1          1      45.48            0         0     -41.42          46.93        5.51          5.51
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $6.58
Accumulated return percentage based on the cost of first share of stock investment: 15.59%

Processing portfolio for ticker symbol: JNJ
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     131.03            0         0    -131.03         130.96       -0.07         -0.07
2020-02-25           -1          0          0       145.99     14.96      14.96              0       14.96         14.96
2020-04-09            1          1     144.01            0         0    -129.05         141.23       12.18         12.18
2020-05-14           -1          0          0       145.39      1.38      16.34              0       16.34         16.34
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $16.34
Accumulated return percentage based on the cost of first share of stock investment: 12.47%

Processing portfolio for ticker symbol: K
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      64.54            0         0     -64.54          64.05       -0.49         -0.49
2020-02-05           -1          0          0        68.82      4.28       4.28              0        4.28          4.28
2020-04-13            1          1      62.44            0         0     -58.16           62.8        4.64          4.64
2020-05-13           -1          0          0        63.57      1.13       5.41              0        5.41          5.41
2020-06-04            1          1      65.22            0         0     -59.81          64.71         4.9           4.9
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $5.81
Accumulated return percentage based on the cost of first share of stock investment: 9.00%

Processing portfolio for ticker symbol: KR
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      27.02            0         0     -27.02          26.91       -0.11         -0.11
2020-01-16           -1          0          0        28.34      1.32       1.32              0        1.32          1.32
2020-02-19            1          1      29.97            0         0     -28.65          29.54        0.89          0.89
2020-04-02           -1          0          0        30.23      0.26       1.58              0        1.58          1.58
2020-04-14            1          1      32.05            0         0     -30.47          32.09        1.62          1.62
2020-05-27           -1          0          0        31.47     -0.58          1              0           1             1
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $1.00
Accumulated return percentage based on the cost of first share of stock investment: 3.70%

Processing portfolio for ticker symbol: LLY
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     112.26            0         0    -112.26         111.39       -0.87         -0.87
2020-02-26           -1          0          0       136.03     23.77      23.77              0       23.77         23.77
2020-03-18            1          1     136.34            0         0    -112.57         143.09       30.52         30.52
2020-03-23           -1          0          0       120.95    -15.39       8.38              0        8.38          8.38
2020-04-07            1          1     143.13            0         0    -134.75         141.88        7.13          7.13
2020-05-21           -1          0          0       153.15     10.02       18.4              0        18.4          18.4
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $18.40
Accumulated return percentage based on the cost of first share of stock investment: 16.39%

Processing portfolio for ticker symbol: LOGI
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      41.29            0         0     -41.29          41.37        0.08          0.08
2020-01-31           -1          0          0        45.37      4.08       4.08              0        4.08          4.08
2020-03-27            1          1      41.35            0         0     -37.27          41.12        3.85          3.85
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $20.61
Accumulated return percentage based on the cost of first share of stock investment: 49.92%

Processing portfolio for ticker symbol: LVGO
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      26.76            0         0     -26.76          25.36        -1.4          -1.4
2019-12-16           -1          0          0        26.41     -0.35      -0.35              0       -0.35         -0.35
2020-01-15            1          1         31            0         0     -31.35           30.9       -0.45         -0.45
2020-02-04           -1          0          0           24        -7      -7.35              0       -7.35         -7.35
2020-02-24            1          1      26.35            0         0      -33.7          27.13       -6.57         -6.57
2020-03-10           -1          0          0         25.5     -0.85       -8.2              0        -8.2          -8.2
2020-04-06            1          1      30.15            0         0     -38.35          30.09       -8.26         -8.26
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $18.86
Accumulated return percentage based on the cost of first share of stock investment: 70.48%

Processing portfolio for ticker symbol: MASI
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-20            1          1     153.15            0         0    -153.15         155.43        2.28          2.28
2020-03-03           -1          0          0       177.86     24.71      24.71              0       24.71         24.71
2020-03-16            1          1     174.84            0         0    -150.13         174.19       24.06         24.06
2020-03-20           -1          0          0          165     -9.84      14.87              0       14.87         14.87
2020-04-07            1          1     187.11            0         0    -172.24         183.26       11.02         11.02
2020-06-05           -1          0          0       216.09     28.98      43.85              0       43.85         43.85
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $43.85
Accumulated return percentage based on the cost of first share of stock investment: 28.63%

Processing portfolio for ticker symbol: MDLZ
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-25            1          1      51.85            0         0     -51.85          52.04        0.19          0.19
2020-01-15           -1          0          0        54.53      2.68       2.68              0        2.68          2.68
2020-01-23            1          1      55.35            0         0     -52.67          55.44        2.77          2.77
2020-03-03           -1          0          0        55.42      0.07       2.75              0        2.75          2.75
2020-04-09            1          1      51.79            0         0     -49.04          52.34         3.3           3.3
2020-05-04           -1          0          0        50.76     -1.03       1.72              0        1.72          1.72
2020-06-02            1          1      52.15            0         0     -50.43          52.22        1.79          1.79
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $2.10
Accumulated return percentage based on the cost of first share of stock investment: 4.05%

Processing portfolio for ticker symbol: MKC
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-19            1          1     165.45            0         0    -165.45         165.96        0.51          0.51
2019-12-24           -1          0          0       167.36      1.91       1.91              0        1.91          1.91
2020-01-09            1          1     164.71            0         0     -162.8         162.24       -0.56         -0.56
2020-01-10           -1          0          0       161.72     -2.99      -1.08              0       -1.08         -1.08
2020-01-27            1          1     172.33            0         0    -173.41         172.71        -0.7          -0.7
2020-02-05           -1          0          0       161.65    -10.68     -11.76              0      -11.76        -11.76
2020-04-08            1          1     149.68            0         0    -161.44          149.1      -12.34        -12.34
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $9.39
Accumulated return percentage based on the cost of first share of stock investment: 5.68%

Processing portfolio for ticker symbol: MKTX
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1        374            0         0       -374         379.22        5.22          5.22
2019-12-16           -1          0          0       374.64      0.64       0.64              0        0.64          0.64
2020-03-09            1          1     342.85            0         0    -342.21         352.31        10.1          10.1
2020-03-19           -1          0          0       303.56    -39.29     -38.65              0      -38.65        -38.65
2020-04-07            1          1     400.55            0         0     -439.2          381.5       -57.7         -57.7
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $54.70
Accumulated return percentage based on the cost of first share of stock investment: 14.63%

Processing portfolio for ticker symbol: MRNA
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      18.16            0         0     -18.16          18.34        0.18          0.18
2019-12-17           -1          0          0        18.54      0.38       0.38              0        0.38          0.38
2020-01-06            1          1       18.7            0         0     -18.32          18.13       -0.19         -0.19
2020-01-07           -1          0          0        18.15     -0.55      -0.17              0       -0.17         -0.17
2020-01-17            1          1       21.5            0         0     -21.67          20.62       -1.05         -1.05
2020-02-18           -1          0          0        19.14     -2.36      -2.53              0       -2.53         -2.53
2020-03-02            1          1         27            0         0     -29.53          29.88        0.35          0.35
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $28.66
Accumulated return percentage based on the cost of first share of stock investment: 157.82%

Processing portfolio for ticker symbol: MRVL
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      27.68            0         0     -27.68          26.99       -0.69         -0.69
2019-12-03           -1          0          0        24.94     -2.74      -2.74              0       -2.74         -2.74
2019-12-24            1          1       26.6            0         0     -29.34          26.55       -2.79         -2.79
2020-02-03           -1          0          0        24.31     -2.29      -5.03              0       -5.03         -5.03
2020-04-02            1          1      21.29            0         0     -26.32          22.65       -3.67         -3.67
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $9.57
Accumulated return percentage based on the cost of first share of stock investment: 34.57%

Processing portfolio for ticker symbol: MSFT
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     147.02            0         0    -147.02         148.06        1.04          1.04
2020-03-02           -1          0          0       165.31     18.29      18.29              0       18.29         18.29
2020-04-07            1          1    169.592            0         0   -151.302         163.49      12.188        12.188
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $35.90
Accumulated return percentage based on the cost of first share of stock investment: 24.42%

Processing portfolio for ticker symbol: NET
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      16.12            0         0     -16.12          16.67        0.55          0.55
2019-12-19           -1          0          0         17.4      1.28       1.28              0        1.28          1.28
2020-01-15            1          1       18.7            0         0     -17.42          18.85        1.43          1.43
2020-02-07           -1          0          0        17.88     -0.82       0.46              0        0.46          0.46
2020-02-21            1          1       20.3            0         0     -19.84          21.02        1.18          1.18
2020-03-19           -1          0          0         19.8      -0.5      -0.04              0       -0.04         -0.04
2020-03-31            1          1      24.16            0         0      -24.2          23.48       -0.72         -0.72
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $4.94
Accumulated return percentage based on the cost of first share of stock investment: 30.65%

Processing portfolio for ticker symbol: NFLX
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     283.25            0         0    -283.25         289.62        6.37          6.37
2019-12-16           -1          0          0       300.85      17.6       17.6              0        17.6          17.6
2019-12-20            1          1        335            0         0     -317.4          336.9        19.5          19.5
2020-03-09           -1          0          0       343.86      8.86      26.46              0       26.46         26.46
2020-04-02            1          1     364.08            0         0    -337.62         370.08       32.46         32.46
2020-06-03           -1          0          0       426.95     62.87      89.33              0       89.33         89.33
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $89.33
Accumulated return percentage based on the cost of first share of stock investment: 31.54%

Processing portfolio for ticker symbol: NVDA
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     208.93            0         0    -208.93         209.79        0.86          0.86
2020-03-09           -1          0          0        239.9     30.97      30.97              0       30.97         30.97
2020-04-03            1          1     253.96            0         0    -222.99         243.91       20.92         20.92
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $133.81
Accumulated return percentage based on the cost of first share of stock investment: 64.05%

Processing portfolio for ticker symbol: OKTA
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     116.71            0         0    -116.71         115.96       -0.75         -0.75
2019-12-16           -1          0          0       116.99      0.28       0.28              0        0.28          0.28
2020-01-08            1          1     123.31            0         0    -123.03         125.55        2.52          2.52
2020-03-02           -1          0          0       130.05      6.74       7.02              0        7.02          7.02
2020-04-02            1          1     119.43            0         0    -112.41         115.99        3.58          3.58
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $68.19
Accumulated return percentage based on the cost of first share of stock investment: 58.43%

Processing portfolio for ticker symbol: PANW
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     240.64            0         0    -240.64         245.51        4.87          4.87
2019-12-04           -1          0          0       227.04     -13.6      -13.6              0       -13.6         -13.6
2019-12-30            1          1     232.59            0         0    -246.19         231.43      -14.76        -14.76
2020-02-06           -1          0          0       242.57      9.98      -3.62              0       -3.62         -3.62
2020-02-12            1          1     247.39            0         0    -251.01         244.72       -6.29         -6.29
2020-02-26           -1          0          0       197.08    -50.31     -53.93              0      -53.93        -53.93
2020-04-06            1          1     169.36            0         0    -223.29         171.34      -51.95        -51.95
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $8.10
Accumulated return percentage based on the cost of first share of stock investment: 3.37%

Processing portfolio for ticker symbol: PEP
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-12-03            1          1     136.66            0         0    -136.66         135.46        -1.2          -1.2
2020-01-08           -1          0          0       134.46      -2.2       -2.2              0        -2.2          -2.2
2020-01-22            1          1     141.81            0         0    -144.01         143.38       -0.63         -0.63
2020-03-02           -1          0          0          132     -9.81     -12.01              0      -12.01        -12.01
2020-04-09            1          1     132.09            0         0     -144.1         133.63      -10.47        -10.47
2020-05-11           -1          0          0       133.43      1.34     -10.67              0      -10.67        -10.67
2020-05-21            1          1     130.98            0         0    -141.65         130.21      -11.44        -11.44
2020-05-27           -1          0          0       129.72     -1.26     -11.93              0      -11.93        -11.93
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $-11.93
Accumulated return percentage based on the cost of first share of stock investment: -8.73%

Processing portfolio for ticker symbol: PFE
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      36.56            0         0     -36.56          36.55       -0.01         -0.01
2019-11-19           -1          0          0        37.43      0.87       0.87              0        0.87          0.87
2019-11-26            1          1      38.55            0         0     -37.68          38.29        0.61          0.61
2020-02-03           -1          0          0        37.46     -1.09      -0.22              0       -0.22         -0.22
2020-04-08            1          1      33.99            0         0     -34.21           34.6        0.39          0.39
2020-05-28           -1          0          0        37.84      3.85       3.63              0        3.63          3.63
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $3.63
Accumulated return percentage based on the cost of first share of stock investment: 9.93%

Processing portfolio for ticker symbol: PG
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-12-03            1          1     122.31            0         0    -122.31         122.95        0.64          0.64
2020-01-08           -1          0          0       122.19     -0.12      -0.12              0       -0.12         -0.12
2020-01-23            1          1      124.3            0         0    -124.42         124.99        0.57          0.57
2020-02-20           -1          0          0       125.47      1.17       1.05              0        1.05          1.05
2020-04-09            1          1     115.26            0         0    -114.21         114.66        0.45          0.45
2020-05-07           -1          0          0       114.06      -1.2      -0.15              0       -0.15         -0.15
2020-06-05            1          1     116.25            0         0     -116.4         118.33        1.93          1.93
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $1.93
Accumulated return percentage based on the cost of first share of stock investment: 1.58%

Processing portfolio for ticker symbol: PLD
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-22            1          1      90.94            0         0     -90.94          90.56       -0.38         -0.38
2019-12-18           -1          0          0        87.05     -3.89      -3.89              0       -3.89         -3.89
2020-01-14            1          1      91.55            0         0     -95.44          90.63       -4.81         -4.81
2020-03-02           -1          0          0         84.7     -6.85     -10.74              0      -10.74        -10.74
2020-04-07            1          1      86.32            0         0     -97.06          80.95      -16.11        -16.11
2020-05-13           -1          0          0        83.56     -2.76      -13.5              0       -13.5         -13.5
2020-06-01            1          1      91.96            0         0    -105.46           93.7      -11.76        -11.76
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $-9.75
Accumulated return percentage based on the cost of first share of stock investment: -10.72%

Processing portfolio for ticker symbol: PRGO
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-12-09            1          1      52.01            0         0     -52.01          52.99        0.98          0.98
2020-01-06           -1          0          0        49.59     -2.42      -2.42              0       -2.42         -2.42
2020-01-21            1          1      58.77            0         0     -61.19          59.83       -1.36         -1.36
2020-02-28           -1          0          0        50.07      -8.7     -11.12              0      -11.12        -11.12
2020-04-13            1          1      50.56            0         0     -61.68          50.37      -11.31        -11.31
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $-6.07
Accumulated return percentage based on the cost of first share of stock investment: -11.67%

Processing portfolio for ticker symbol: PTON
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1       26.2            0         0      -26.2          25.93       -0.27         -0.27
2019-12-24           -1          0          0        29.07      2.87       2.87              0        2.87          2.87
2020-01-22            1          1      32.32            0         0     -29.45          30.68        1.23          1.23
2020-02-14           -1          0          0        28.89     -3.43      -0.56              0       -0.56         -0.56
2020-03-31            1          1      27.89            0         0     -28.45          26.55        -1.9          -1.9
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $17.45
Accumulated return percentage based on the cost of first share of stock investment: 66.60%

Processing portfolio for ticker symbol: PYPL
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-21            1          1        103            0         0       -103         102.55       -0.45         -0.45
2020-02-28           -1          0          0       104.26      1.26       1.26              0        1.26          1.26
2020-04-14            1          1        109            0         0    -107.74        109.785       2.045         2.045
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $48.26
Accumulated return percentage based on the cost of first share of stock investment: 46.85%

Processing portfolio for ticker symbol: REGN
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      349.8            0         0     -349.8         338.39      -11.41        -11.41
2020-01-27           -1          0          0        341.2      -8.6       -8.6              0        -8.6          -8.6
2020-02-13            1          1     406.44            0         0    -415.04         398.81      -16.23        -16.23
2020-03-30           -1          0          0       463.09     56.65      48.05              0       48.05         48.05
2020-04-07            1          1     502.81            0         0    -454.76         501.51       46.75         46.75
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $142.24
Accumulated return percentage based on the cost of first share of stock investment: 40.66%

Processing portfolio for ticker symbol: RMD
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     145.46            0         0    -145.46         145.42       -0.04         -0.04
2020-03-04           -1          0          0        168.3     22.84      22.84              0       22.84         22.84
2020-04-09            1          1     150.49            0         0    -127.65         159.82       32.17         32.17
2020-05-11           -1          0          0       160.96     10.47      33.31              0       33.31         33.31
2020-05-13            1          1     166.26            0         0    -132.95         164.37       31.42         31.42
2020-06-02           -1          0          0          161     -5.26      28.05              0       28.05         28.05
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $28.05
Accumulated return percentage based on the cost of first share of stock investment: 19.28%

Processing portfolio for ticker symbol: RNG
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     167.55            0         0    -167.55         169.82        2.27          2.27
2019-12-10           -1          0          0          167     -0.55      -0.55              0       -0.55         -0.55
2019-12-30            1          1     168.64            0         0    -169.19         166.78       -2.41         -2.41
2020-03-11           -1          0          0       209.05     40.41      39.86              0       39.86         39.86
2020-04-02            1          1     210.67            0         0    -170.81         220.03       49.22         49.22
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $82.07
Accumulated return percentage based on the cost of first share of stock investment: 48.98%

Processing portfolio for ticker symbol: SHOP
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-22            1          1     318.76            0         0    -318.76         314.52       -4.24         -4.24
2020-03-04           -1          0          0          489    170.24     170.24              0      170.24        170.24
2020-04-07            1          1     408.99            0         0    -238.75         378.54      139.79        139.79
2020-04-08           -1          0          0          383    -25.99     144.25              0      144.25        144.25
2020-04-09            1          1     422.51            0         0    -278.26         417.74      139.48        139.48
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $449.51
Accumulated return percentage based on the cost of first share of stock investment: 141.02%

Processing portfolio for ticker symbol: SJM
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-12-05            1          1     106.35            0         0    -106.35         106.75         0.4           0.4
2019-12-16           -1          0          0       101.94     -4.41      -4.41              0       -4.41         -4.41
2020-01-16            1          1     104.75            0         0    -109.16         104.99       -4.17         -4.17
2020-03-09           -1          0          0       104.41     -0.34      -4.75              0       -4.75         -4.75
2020-03-19            1          1        119            0         0    -123.75         109.02      -14.73        -14.73
2020-03-23           -1          0          0       103.66    -15.34     -20.09              0      -20.09        -20.09
2020-03-31            1          1     110.58            0         0    -130.67            111      -19.67        -19.67
2020-04-01           -1          0          0       108.69     -1.89     -21.98              0      -21.98        -21.98
2020-04-07            1          1     115.21            0         0    -137.19         113.88      -23.31        -23.31
2020-05-11           -1          0          0        116.2      0.99     -20.99              0      -20.99        -20.99
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $-20.99
Accumulated return percentage based on the cost of first share of stock investment: -19.74%

Processing portfolio for ticker symbol: SNY
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-25            1          1      46.73            0         0     -46.73           46.9        0.17          0.17
2020-01-27           -1          0          0        47.98      1.25       1.25              0        1.25          1.25
2020-02-14            1          1      50.04            0         0     -48.79          49.93        1.14          1.14
2020-03-03           -1          0          0        48.49     -1.55       -0.3              0        -0.3          -0.3
2020-04-08            1          1      44.63            0         0     -44.93          45.18        0.25          0.25
2020-05-20           -1          0          0        48.01      3.38       3.08              0        3.08          3.08
2020-06-04            1          1      49.67            0         0     -46.59          49.95        3.36          3.36
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $3.51
Accumulated return percentage based on the cost of first share of stock investment: 7.51%

Processing portfolio for ticker symbol: SPGI
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     258.23            0         0    -258.23            260        1.77          1.77
2020-02-28           -1          0          0       260.22      1.99       1.99              0        1.99          1.99
2020-04-07            1          1     264.86            0         0    -262.87         256.06       -6.81         -6.81
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $70.50
Accumulated return percentage based on the cost of first share of stock investment: 27.30%

Processing portfolio for ticker symbol: SPLK
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     120.99            0         0    -120.99         116.99          -4            -4
2020-03-03           -1          0          0       152.12     31.13      31.13              0       31.13         31.13
2020-04-09            1          1     125.99            0         0     -94.86         123.13       28.27         28.27
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $88.26
Accumulated return percentage based on the cost of first share of stock investment: 72.95%

Processing portfolio for ticker symbol: SPOT
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      147.4            0         0     -147.4         148.76        1.36          1.36
2019-11-29           -1          0          0          142      -5.4       -5.4              0        -5.4          -5.4
2019-12-11            1          1     144.96            0         0    -150.36         147.13       -3.23         -3.23
2020-01-24           -1          0          0       149.35      4.39      -1.01              0       -1.01         -1.01
2020-02-18            1          1      141.5            0         0    -142.51         144.63        2.12          2.12
2020-02-20           -1          0          0       143.35      1.85       0.84              0        0.84          0.84
2020-04-15            1          1     134.17            0         0    -133.33         138.78        5.45          5.45
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $50.95
Accumulated return percentage based on the cost of first share of stock investment: 34.57%

Processing portfolio for ticker symbol: SQ
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      61.65            0         0     -61.65          62.99        1.34          1.34
2019-12-19           -1          0          0         64.9      3.25       3.25              0        3.25          3.25
2020-01-15            1          1      68.54            0         0     -65.29          70.36        5.07          5.07
2020-03-06           -1          0          0        75.03      6.49       9.74              0        9.74          9.74
2020-04-14            1          1      60.02            0         0     -50.28          62.41       12.13         12.13
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $39.65
Accumulated return percentage based on the cost of first share of stock investment: 64.31%

Processing portfolio for ticker symbol: TDOC
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      80.06            0         0     -80.06          78.89       -1.17         -1.17
2019-12-12           -1          0          0        77.22     -2.84      -2.84              0       -2.84         -2.84
2019-12-27            1          1         83            0         0     -85.84          83.35       -2.49         -2.49
2020-05-27           -1          0          0       158.42     75.42      72.58              0       72.58         72.58
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $72.58
Accumulated return percentage based on the cost of first share of stock investment: 90.66%

Processing portfolio for ticker symbol: TGT
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-19            1          1     110.41            0         0    -110.41         110.85        0.44          0.44
2020-01-09           -1          0          0        123.5     13.09      13.09              0       13.09         13.09
2020-02-19            1          1     117.69            0         0     -104.6         117.39       12.79         12.79
2020-02-28           -1          0          0       102.21    -15.48      -2.39              0       -2.39         -2.39
2020-04-15            1          1     108.76            0         0    -111.15         106.24       -4.91         -4.91
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $10.38
Accumulated return percentage based on the cost of first share of stock investment: 9.40%

Processing portfolio for ticker symbol: TMO
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1     300.15            0         0    -300.15         300.84        0.69          0.69
2020-02-05           -1          0          0       330.26     30.11      30.11              0       30.11         30.11
2020-02-19            1          1     338.09            0         0    -307.98         339.74       31.76         31.76
2020-02-28           -1          0          0       288.61    -49.48     -19.37              0      -19.37        -19.37
2020-04-13            1          1     314.38            0         0    -333.75         315.32      -18.43        -18.43
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $20.45
Accumulated return percentage based on the cost of first share of stock investment: 6.81%

Processing portfolio for ticker symbol: TTD
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1        228            0         0       -228         228.08        0.08          0.08
2020-03-03           -1          0          0       286.35     58.35      58.35              0       58.35         58.35
2020-04-14            1          1     231.87            0         0    -173.52         233.41       59.89         59.89
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $180.77
Accumulated return percentage based on the cost of first share of stock investment: 79.29%

Processing portfolio for ticker symbol: TTWO
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-22            1          1      122.2            0         0     -122.2         119.48       -2.72         -2.72
2020-02-06           -1          0          0       121.05     -1.15      -1.15              0       -1.15         -1.15
2020-03-12            1          1        112            0         0    -113.15         108.36       -4.79         -4.79
2020-03-23           -1          0          0       102.22     -9.78     -10.93              0      -10.93        -10.93
2020-04-06            1          1     120.65            0         0    -131.58         121.29      -10.29        -10.29
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $-2.67
Accumulated return percentage based on the cost of first share of stock investment: -2.18%

Processing portfolio for ticker symbol: TW
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      43.34            0         0     -43.34          42.76       -0.58         -0.58
2020-01-17           -1          0          0        45.73      2.39       2.39              0        2.39          2.39
2020-02-13            1          1      46.95            0         0     -44.56          47.32        2.76          2.76
2020-03-16           -1          0          0        39.63     -7.32      -4.93              0       -4.93         -4.93
2020-04-08            1          1      48.88            0         0     -53.81          49.28       -4.53         -4.53
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $8.36
Accumulated return percentage based on the cost of first share of stock investment: 19.29%

Processing portfolio for ticker symbol: TWLO
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-25            1          1        105            0         0       -105         103.36       -1.64         -1.64
2019-12-13           -1          0          0        97.01     -7.99      -7.99              0       -7.99         -7.99
2020-01-02            1          1     100.01            0         0       -108         103.15       -4.85         -4.85
2020-02-27           -1          0          0       107.52      7.51      -0.48              0       -0.48         -0.48
2020-04-03            1          1      82.58            0         0     -83.06          80.69       -2.37         -2.37
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $113.65
Accumulated return percentage based on the cost of first share of stock investment: 108.24%

Processing portfolio for ticker symbol: UNH
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      253.8            0         0     -253.8         255.83        2.03          2.03
2020-01-31           -1          0          0       278.17     24.37      24.37              0       24.37         24.37
2020-02-18            1          1     299.67            0         0     -275.3         302.14       26.84         26.84
2020-02-28           -1          0          0        246.2    -53.47      -29.1              0       -29.1         -29.1
2020-04-09            1          1        265            0         0     -294.1         264.13      -29.97        -29.97
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $17.75
Accumulated return percentage based on the cost of first share of stock investment: 6.99%

Processing portfolio for ticker symbol: VEEV
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-20            1          1     152.25            0         0    -152.25         154.33        2.08          2.08
2019-12-11           -1          0          0        143.5     -8.75      -8.75              0       -8.75         -8.75
2020-01-14            1          1     149.22            0         0    -157.97         147.78      -10.19        -10.19
2020-03-04           -1          0          0          149     -0.22      -8.97              0       -8.97         -8.97
2020-04-01            1          1     150.34            0         0    -159.31         153.51        -5.8          -5.8
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $43.49
Accumulated return percentage based on the cost of first share of stock investment: 28.56%

Processing portfolio for ticker symbol: VZ
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-12-05            1          1      60.63            0         0     -60.63          60.82        0.19          0.19
2020-01-08           -1          0          0        59.67     -0.96      -0.96              0       -0.96         -0.96
2020-04-08            1          1      57.26            0         0     -58.22           57.8       -0.42         -0.42
2020-05-08           -1          0          0        56.22     -1.04         -2              0          -2            -2
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $-2.00
Accumulated return percentage based on the cost of first share of stock investment: -3.30%

Processing portfolio for ticker symbol: WING
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-12-05            1          1      79.23            0         0     -79.23          80.19        0.96          0.96
2020-03-03           -1          0          0        84.74      5.51       5.51              0        5.51          5.51
2020-04-03            1          1      79.78            0         0     -74.27          77.65        3.38          3.38
2020-06-02           -1          0          0       123.47     43.69       49.2              0        49.2          49.2
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $49.20
Accumulated return percentage based on the cost of first share of stock investment: 62.10%

Processing portfolio for ticker symbol: WIX
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      128.1            0         0     -128.1          125.2        -2.9          -2.9
2019-11-29           -1          0          0       121.98     -6.12      -6.12              0       -6.12         -6.12
2020-01-03            1          1     126.14            0         0    -132.26         128.92       -3.34         -3.34
2020-02-27           -1          0          0       129.38      3.24      -2.88              0       -2.88         -2.88
2020-04-15            1          1     120.41            0         0    -123.29         118.41       -4.88         -4.88
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $90.00
Accumulated return percentage based on the cost of first share of stock investment: 70.26%

Processing portfolio for ticker symbol: WMT
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-15            1          1     120.68            0         0    -120.68         118.87       -1.81         -1.81
2019-12-05           -1          0          0       118.36     -2.32      -2.32              0       -2.32         -2.32
2019-12-18            1          1     121.51            0         0    -123.83         119.86       -3.97         -3.97
2020-01-06           -1          0          0        117.4     -4.11      -6.43              0       -6.43         -6.43
2020-02-18            1          1     118.47            0         0     -124.9         119.63       -5.27         -5.27
2020-03-02           -1          0          0        107.6    -10.87      -17.3              0       -17.3         -17.3
2020-03-27            1          1     110.11            0         0    -127.41         109.58      -17.83        -17.83
2020-03-30           -1          0          0       111.86      1.75     -15.55              0      -15.55        -15.55
2020-03-31            1          1     114.31            0         0    -129.86         113.62      -16.24        -16.24
2020-04-02           -1          0          0       113.18     -1.13     -16.68              0      -16.68        -16.68
2020-04-08            1          1     123.69            0         0    -140.37         121.84      -18.53        -18.53
2020-05-07           -1          0          0       123.46     -0.23     -16.91              0      -16.91        -16.91
2020-05-29            1          1     124.24            0         0    -141.15         124.06      -17.09        -17.09
2020-06-05           -1          0          0       122.57     -1.67     -18.58              0      -18.58        -18.58
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $-18.58
Accumulated return percentage based on the cost of first share of stock investment: -15.40%

Processing portfolio for ticker symbol: WORK
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-25            1          1      21.34            0         0     -21.34           22.5        1.16          1.16
2019-12-18           -1          0          0        20.51     -0.83      -0.83              0       -0.83         -0.83
2020-01-06            1          1      22.32            0         0     -23.15          23.52        0.37          0.37
2020-01-27           -1          0          0        20.05     -2.27       -3.1              0        -3.1          -3.1
2020-02-12            1          1      26.05            0         0     -29.15          25.81       -3.34         -3.34
2020-03-13           -1          0          0        21.02     -5.03      -8.13              0       -8.13         -8.13
2020-04-01            1          1      26.15            0         0     -34.28          25.75       -8.53         -8.53
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $-1.72
Accumulated return percentage based on the cost of first share of stock investment: -8.06%

Processing portfolio for ticker symbol: ZM
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-14            1          1      67.77            0         0     -67.77          67.74       -0.03         -0.03
2019-12-12           -1          0          0        63.49     -4.28      -4.28              0       -4.28         -4.28
2020-01-07            1          1      70.29            0         0     -74.57           71.9       -2.67         -2.67
2020-04-17           -1          0          0       147.91     77.62      73.34              0       73.34         73.34
2020-04-20            1          1      153.3            0         0     -79.96         148.99       69.03         69.03
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $127.64
Accumulated return percentage based on the cost of first share of stock investment: 188.34%

Processing portfolio for ticker symbol: ZS
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-11-15            1          1       45.6            0         0      -45.6          45.83        0.23          0.23
2019-12-18           -1          0          0        46.62      1.02       1.02              0        1.02          1.02
2020-01-09            1          1      51.16            0         0     -50.14             54        3.86          3.86
2020-02-28           -1          0          0       48.145    -3.015     -1.995              0      -1.995        -1.995
2020-03-27            1          1      59.54            0         0    -61.535          58.63      -2.905        -2.905
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $37.78
Accumulated return percentage based on the cost of first share of stock investment: 82.84%

Processing portfolio for ticker symbol: ZTS
           trade_action qty_onhand cost_basis sale_proceed gain_loss cash_value position_value total_value accumu_return
2019-12-06            1          1        121            0         0       -121         121.72        0.72          0.72
2020-03-03           -1          0          0       139.46     18.46      18.46              0       18.46         18.46
2020-04-09            1          1     126.55            0         0    -108.09         128.75       20.66         20.66
2020-05-15           -1          0          0       126.44     -0.11      18.35              0       18.35         18.35
2020-05-19            1          1     131.05            0         0     -112.7         134.34       21.64         21.64
Accumulated profit/loss for one share of stock with initial capital of $0 at the end of modeling period: $28.31
Accumulated return percentage based on the cost of first share of stock investment: 23.40%

In [38]:
stock_status.sort_values(by=['current_status', 'last_action_date'], ascending=False)
Out[38]:
Name per_share_pandl per_share_return current_status last_action_date
Symbol
AMD Advanced Micro Devices 16.326 0.435244 Waiting to Enter 2020-06-05
ATVI Activision Blizzard 8.550 0.155116 Waiting to Enter 2020-06-05
EVBG Everbridge 23.160 0.273274 Waiting to Enter 2020-06-05
MASI Masimo 43.850 0.286321 Waiting to Enter 2020-06-05
WMT Walmart -18.580 -0.153961 Waiting to Enter 2020-06-05
DXCM DexCom 87.530 0.427372 Waiting to Enter 2020-06-04
NFLX Netflix 89.330 0.315375 Waiting to Enter 2020-06-03
RMD ResMed 28.050 0.192837 Waiting to Enter 2020-06-02
WING Wingstop 49.200 0.620977 Waiting to Enter 2020-06-02
PFE Pfizer 3.630 0.099289 Waiting to Enter 2020-05-28
CPB Campbell Soup -11.960 -0.249011 Waiting to Enter 2020-05-27
GOLD Barrick Gold 4.270 0.254773 Waiting to Enter 2020-05-27
KR Kroger Co 1.000 0.037010 Waiting to Enter 2020-05-27
PEP PepsiCo -11.930 -0.087297 Waiting to Enter 2020-05-27
TDOC Teladoc 72.580 0.906570 Waiting to Enter 2020-05-27
CTXS Citrix Systems 17.310 0.155302 Waiting to Enter 2020-05-21
LLY Eli Lilly 18.400 0.163905 Waiting to Enter 2020-05-21
GSK GlaxoSmithKline 3.440 0.078539 Waiting to Enter 2020-05-20
ABT Abbott Labs 4.210 0.050065 Waiting to Enter 2020-05-15
GILD Gilead Sciences 5.180 0.077684 Waiting to Enter 2020-05-15
JNJ Johnson & Johnson 16.340 0.124704 Waiting to Enter 2020-05-14
CNC Centene 5.150 0.092860 Waiting to Enter 2020-05-12
SJM JM Smucker -20.990 -0.197367 Waiting to Enter 2020-05-11
VZ Verizon -2.000 -0.032987 Waiting to Enter 2020-05-08
CAG Conagra 7.310 0.258669 Holding Position 2020-06-05
PG Procter & Gamble 1.930 0.015780 Holding Position 2020-06-05
BAX Baxter International Inc 6.050 0.073754 Holding Position 2020-06-04
DHR Danaher 35.230 0.246243 Holding Position 2020-06-04
K Kellogg 5.810 0.090022 Holding Position 2020-06-04
SNY Sanofi 3.510 0.075112 Holding Position 2020-06-04
CHWY Chewy 10.750 0.449979 Holding Position 2020-06-03
EQIX Equinix 23.290 0.042099 Holding Position 2020-06-03
BSX Boston Scientific Corporation 3.190 0.076960 Holding Position 2020-06-02
COST Costco 8.238 0.027064 Holding Position 2020-06-02
MDLZ Mondelez 2.100 0.040501 Holding Position 2020-06-02
AMT American Tower 14.520 0.067598 Holding Position 2020-06-01
CCI Crown Castle 11.660 0.085496 Holding Position 2020-06-01
PLD Prologis -9.750 -0.107214 Holding Position 2020-06-01
AKAM Akamai Technologies 3.680 0.041427 Holding Position 2020-05-29
CL Colgate-Pammolive 3.050 0.044853 Holding Position 2020-05-29
COR CoreSite Realty -0.300 -0.002591 Holding Position 2020-05-29
HRL Hormel 6.580 0.155850 Holding Position 2020-05-22
D Dominion Energy 2.880 0.034553 Holding Position 2020-05-19
ZTS Zoetis 28.310 0.233967 Holding Position 2020-05-19
BNTX BioNTech 20.920 1.109226 Holding Position 2020-05-06
ZM Zoom Video 127.640 1.883429 Holding Position 2020-04-20
BYND Beyond Meat 52.740 0.613256 Holding Position 2020-04-15
EBAY eBay 10.870 0.311105 Holding Position 2020-04-15
SPOT Spotify 50.950 0.345658 Holding Position 2020-04-15
TGT Target Corporation 10.380 0.094013 Holding Position 2020-04-15
WIX Wix.Com Ltd 90.000 0.702576 Holding Position 2020-04-15
AAPL Apple 74.280 0.281630 Holding Position 2020-04-14
ABBV AbbVie 4.640 0.053654 Holding Position 2020-04-14
CRM Salesforce 21.320 0.130773 Holding Position 2020-04-14
ETSY Etsy Inc 19.490 0.472141 Holding Position 2020-04-14
PYPL PayPal 48.260 0.468544 Holding Position 2020-04-14
SQ Square 39.650 0.643147 Holding Position 2020-04-14
TTD The Trade Desk 180.770 0.792851 Holding Position 2020-04-14
ADBE Adobe 145.180 0.494583 Holding Position 2020-04-13
DDOG Datadog Inc 33.290 0.828522 Holding Position 2020-04-13
GOOG Alphabet 209.210 0.161241 Holding Position 2020-04-13
HD Home Depot 63.280 0.286076 Holding Position 2020-04-13
PRGO Perrigo -6.070 -0.116708 Holding Position 2020-04-13
TMO Thermo Fisher 20.450 0.068133 Holding Position 2020-04-13
CLX Clorox 46.750 0.311875 Holding Position 2020-04-09
SHOP Shopify 449.510 1.410183 Holding Position 2020-04-09
SPLK Splunk Inc 88.260 0.729482 Holding Position 2020-04-09
UNH UnitedHealth Group 17.750 0.069937 Holding Position 2020-04-09
CHGG Chegg Inc 26.840 0.747424 Holding Position 2020-04-08
DG Dollar General 18.690 0.119083 Holding Position 2020-04-08
EA Electronic Arts 24.340 0.253015 Holding Position 2020-04-08
EBS Emergent Biosolutions Inc 29.600 0.538182 Holding Position 2020-04-08
GIS General Mills -5.140 -0.097886 Holding Position 2020-04-08
MKC McCormick 9.390 0.056754 Holding Position 2020-04-08
TW Tradeweb 8.360 0.192893 Holding Position 2020-04-08
CMG Chipotle 265.850 0.325346 Holding Position 2020-04-07
MKTX MarketAxess 54.700 0.146257 Holding Position 2020-04-07
MSFT Microsoft 35.898 0.244171 Holding Position 2020-04-07
REGN Regeneron 142.240 0.406632 Holding Position 2020-04-07
SPGI S&P Global Inc 70.500 0.273012 Holding Position 2020-04-07
LVGO Livongo 18.860 0.704783 Holding Position 2020-04-06
PANW Palo Alto Networks Inc 8.100 0.033660 Holding Position 2020-04-06
TTWO Take-Two Interactive -2.670 -0.021849 Holding Position 2020-04-06
NVDA Nvidia 133.810 0.640454 Holding Position 2020-04-03
TWLO Twilio Inc 113.650 1.082381 Holding Position 2020-04-03
DPZ Domino's -13.020 -0.046719 Holding Position 2020-04-02
MRVL Marvell Technology 9.570 0.345737 Holding Position 2020-04-02
OKTA Okta 68.190 0.584269 Holding Position 2020-04-02
RNG RingCentral 82.070 0.489824 Holding Position 2020-04-02
DOCU DocuSign 55.420 0.815000 Holding Position 2020-04-01
VEEV Veeva Systems 43.490 0.285649 Holding Position 2020-04-01
WORK Slack -1.720 -0.080600 Holding Position 2020-04-01
AMZN Amazon 532.900 0.304266 Holding Position 2020-03-31
COUP Coupa Software 72.430 0.488863 Holding Position 2020-03-31
CRWD CrowdStrike 30.200 0.525674 Holding Position 2020-03-31
NET Cloudflare 4.940 0.306452 Holding Position 2020-03-31
PTON Peloton 17.450 0.666031 Holding Position 2020-03-31
LOGI Logitech 20.610 0.499152 Holding Position 2020-03-27
ZS Zscaler 37.775 0.828399 Holding Position 2020-03-27
MRNA Moderna 28.660 1.578194 Holding Position 2020-03-02
In [39]:
if notifyStatus: email_notify("Task 4. Back-test Model completed! "+datetime.now().strftime('%a %B %d, %Y %I:%M:%S %p'))

Task 5. Evaluate Performance

In [40]:
if notifyStatus: email_notify("Task 5. Evaluate Performance has begun! "+datetime.now().strftime('%a %B %d, %Y %I:%M:%S %p'))
In [41]:
# Not applicable for this iteration of the project
In [42]:
if notifyStatus: email_notify("Task 5. Evaluate Performance completed! "+datetime.now().strftime('%a %B %d, %Y %I:%M:%S %p'))
In [43]:
print ('Total time for the script:',(datetime.now() - startTimeScript))
Total time for the script: 0:08:08.661673